MongoDB數據庫基本用法
use admin db.createUser( { user: "admin", pwd: "admin", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } )
show dbs:顯示數據庫列表
show collections:顯示當前數據庫中的集合(類似關系數據庫中的表)
show users:顯示用戶
use <db name>:切換當前數據庫,這和MS-SQL里面的意思一樣
db.help():顯示數據庫操作命令,里面有很多的命令
db.foo.help():顯示集合操作命令,同樣有很多的命令,foo指的是當前數據庫下,一個叫foo的集合,並非真正意義上的命令
db.foo.find():對於當前數據庫中的foo集合進行數據查找(由於沒有條件,會列出所有數據)
db.foo.find( { a : 1 } ):對於當前數據庫中的foo集合進行查找,條件是數據中有一個屬性叫a,且a的值為1
MongoDB沒有創建數據庫的命令,但有類似的命令。
如:如果你想創建一個“myTest”的數據庫,先運行use myTest命令,之后就做一些操作(如:db.createCollection('user')),這樣就可以創建一個名叫“myTest”的數據庫。
數據庫常用命令
1、Help查看命令提示
db.help();
2、切換/創建數據庫
use yourDB; 當創建一個集合(table)的時候會自動創建當前數據庫
3、查詢所有數據庫
show dbs;
4、刪除當前使用數據庫
db.dropDatabase();
5、從指定主機上克隆數據庫
db.copyDatabase(“127.0.0.1”); 將指定機器上的數據庫的數據復制到當前數據庫
6、從指定的機器上復制指定數據庫數據到某個數據庫
db.copyDatabase("product_test_db", "test_db", "172.20.65.151");將遠程172.20.65.151服務器中product_test_db數據庫的數據復制到本機test_db數據庫中
7、修復當前數據庫
db.repairDatabase();
8、查看當前使用的數據庫
db.getName();
db; db和getName方法是一樣的效果,都可以查詢當前使用的數據庫
9、顯示當前db狀態
db.stats();
10、當前db版本
db.version();
11、查看當前db的鏈接機器地址
db.getMongo();
collection集合
查看集合基本信息
criteria : update的查詢條件,類似sql update查詢內where后面的
objNew : update的對象和一些更新的操作符(如$,$inc...)等,也可以理解為sql update查詢內set后面的
upsert : 這個參數的意思是,如果不存在update的記錄,是否插入objNew,true為插入,默認是false,不插入。
multi : mongodb默認是false,只更新找到的第一條記錄,如果這個參數為true,就把按條件查出來多條記錄全部更新。
例:
db.test0.update( { "count" : { $gt : 1 } } , { $set : { "test2" : "OK"} } ); 只更新了第一條記錄
db.test0.update( { "count" : { $gt : 3 } } , { $set : { "test2" : "OK"} },false,true ); 全更新了
db.test0.update( { "count" : { $gt : 4 } } , { $set : { "test5" : "OK"} },true,false ); 只加進去了第一條
db.test0.update( { "count" : { $gt : 5 } } , { $set : { "test5" : "OK"} },true,true ); 全加進去了
db.test0.update( { "count" : { $gt : 15 } } , { $inc : { "count" : 1} },false,true );全更新了
db.test0.update( { "count" : { $gt : 10 } } , { $inc : { "count" : 1} },false,false );只更新了第一條