天天看點

MongoDB常用shell指令

常用shell指令如下:

       1、查詢本地所有資料庫名稱        

> show dbs;      

       2、切換至指定資料庫環境(若無指定的資料庫,則建立新的庫)

> use mydb;      

       3、查詢目前庫下的所有聚集集合collection(相當于table)

> show collections;      

       4、建立聚集集合

> db.createCollection('mycollection');      

       5、查詢聚集集合中資料條數

> db.mycollection.count();      

           6、 插入資料

> db.mycollection.insert({'username':'xyz_lmn','age':26,'salary':120});      

往'mycollection'聚集集合中插上一條數庫,name為'xyz_lmn',age為'26',salary為'120'

       7、查詢age等于26的資料

> db.mycollection.find({"age":26});      

       8、查詢salary大于100的資料

> db.mycollection.find({salary:{$gt:100}});      

      9、查詢age小于30,salary大于100的資料

> db.mycollection.find({age:{$lt:30}},{salary:{$gt:100}});      

     10、查詢salary小于40或salary大于200的資料

> db.mycollection.find({$or: [{salary: {$lt:40}}, {salary: {$gt:200}}]});      

     11、查詢指定列的資料

> db.mycollection.find({},{age:1,salary:1});      

1表示顯示此列的意思,也可以用true表示

     12、查詢username中包含'e'的資料

> db.mycollection.find({username:/e/});      

      13、查詢以a打頭的資料

> db.mycollection.find({username:/^a/});      

      14、查詢age列資料,并去掉重複資料

> db.mycollection.distinct('age');      

      15、查詢前10條資料

> db.mycollection.find().limit(10);      

      16、查詢1條以後的所有資料

> db.mycollection.find().skip(1);      

      17、查詢第一條資料

> db.mycollection.findOne();      

      18、查詢結果集的記錄數(查詢salary小于40或大于100的記錄數)

db.mycollection.find({$or: [{salary: {$lt:40}}, {salary: {$gt:100}}]}).count();      

      19、按salary升序排序

> db.mycollection.find().sort({salary:1});      

按照salary字段升序排序

      20、降序

> db.mycollection.find().sort({salary:-1});      

按照salary字段降序排序

       21、根據username修改age

> db.employee.update({username:'jim'},{$set:{age:22}},false,true);      

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,就把按條件查出來多條記錄全部更新。

       22、将指定username的age字段增加5

> db.mycollection.update({username:'jim'},{$inc:{age:5}},false,true);      

将username為‘jim’的age字段加5

       23、删除username為'rose'的資料

> db.mycollection.remove({uname:'rose'});      

       24、集合collection重命名

> db.mycollection.renameCollection('c_temp');      

将mycollection集合重命名為'c_temp'

       25、删除集合

> db.c_temp.drop();      

删除名為'c_temp'的集合

        26、删除目前資料庫

> db.dropDatabase();