linux上操作mongodb數據庫


MongoDB數據庫基本用法

 用戶相關
1、添加一個用戶
use admin 
db.createUser(  
{  
 user: "admin",  
 pwd: "admin", 
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]  
  }  ) 

 

2、數據庫認證、安全模式
 db.auth("userName", "123123");
3、顯示當前所有用戶
 show users;
4、刪除用戶
 db.removeUser("userName");

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集合

1、創建一個聚集集合(table)
 db.createCollection(“collName”);
2、得到指定名稱的聚集集合(table)
 db.getCollection("account");
3、得到當前db的所有聚集集合
 db.getCollectionNames();
show collections;
4、顯示當前db所有聚集索引的狀態
 db.printCollectionStats();

查看集合基本信息

1、查看幫助  db.yourColl.help();
2、查詢當前集合的數據條數  db.yourColl.count();
3、查看數據空間大小 db.userInfo.dataSize();
4、得到當前聚集集合所在的db db.userInfo.getDB();
5、得到當前聚集的狀態 db.userInfo.stats();
6、得到聚集集合總大小 db.userInfo.totalSize();
7、聚集集合儲存空間大小 db.userInfo.storageSize();
8、Shard版本信息  db.userInfo.getShardVersion()
9、聚集集合重命名 db.userInfo.renameCollection("users"); 將userInfo重命名為users
10、刪除當前聚集集合 db.userInfo.drop();
 
update詳解:
db.collection.update( criteria, objNew, upsert, multi )

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 );只更新了第一條

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM