MongoDB基礎命令操作

 

一、展示所有數據庫

二、查看當前數據庫

三、查看當前數據庫的所有集合

四、使用數據庫(若沒有自動創建)

五、插入數據(沒有集合自動創建)

六、刪除當前數據庫

七、刪除集合

八、更新數據

(一)語法介紹

(二)實例

1、查找到字段更新整個文檔

2、查找僅更新本條數據指定字段

3、查找年齡大於等於20的並修改年齡爲21(查找到的第一條)

4、查找到年齡大於等於20的修改年齡爲23(全部)

5、查詢沒有的是否插入

九、查找數據

1、查找所有

2、查找class爲01 或02的

3、查找money大於1000 或class爲01 或者02 的(注:數字纔有大小之分)

4、查找age大於18 且class爲01 或者02 的

5、查找返回指定個數文檔

6、跳過第一個文檔

7、排序

8、計數count

9、聚合

九、刪除文檔


一、展示所有數據庫

show dbs

二、查看當前數據庫

db

三、查看當前數據庫的所有集合

show tables

或者

show collections

 

四、使用數據庫(若沒有自動創建)

use test

五、插入數據(沒有集合自動創建)

db.students.insert({"name":"tang"})

六、刪除當前數據庫

db.dropDatabase()

七、刪除集合

db.students.drop()

八、更新數據

(一)語法介紹

update() 方法用於更新已存在的文檔。語法格式如下:

db.collection.update(
   <query>,
   <update>,
   {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>
   }
)

參數說明:

  • query : update的查詢條件,類似sql update查詢內where後面的。
  • update : update的對象和一些更新的操作符(如$,$inc...)等,也可以理解爲sql update查詢內set後面的
  • upsert: 可選,這個參數的意思是,如果不存在update的記錄,是否插入objNew,true爲插入,默認是false,不插入。
  • multi: 可選,mongodb 默認是false,只更新找到的第一條記錄,如果這個參數爲true,就把按條件查出來多條記錄全部更新。
  • writeConcern:可選,拋出異常的級別。

(二)實例

1、查找到字段更新整個文檔

db.class.update({"name":"tang"}{"age":18})

2、查找僅更新本文檔指定字段

db.class.update({"name":"ls"},{$set:{"age":18}})

3、查找年齡大於等於20的並修改年齡爲21(查找到的第一條)

db.class.update({"age":{$gte:20}},{$set:{"age":21}})

4、查找到年齡大於等於20的修改年齡爲23(全部)

db.class.update({"age":{$gte:20}},{$set:{"age":21}},false,true)

5、查詢沒有的是否插入

若沒有,插入數據

db.class.update({"name":"lys"},{$set:{"age":21}},true,true)

若沒有,不插入

db.class.update({"name":"lys"},{$set:{"age":21}},false,true)

九、查找數據

1、查找所有

返回所有文檔
db.class2.find()


返回所有文檔(去除id字段)
db.class2.find({},{_id:0})

返回一個文檔
db.class2.findOne()

格式化展示

db.class2.find().pretty()

 

2、查找class爲01 或02的

db.class2.find({$or:[{"class":"01"},{"class":"02"}]}).pretty()

3、查找money大於1000 或class爲01 或者02 的(注:數字纔有大小之分)

db.class2.find({$or:[{"class":"01"},{"class":"02"},{"money":{$gt:1000}}]}).pretty()

補充條件操作符:

$lte  大於等於
$lt   大於
$gte  小於等於
$gt   小於
$ne   不等於
$eq   等於

4、查找age大於18 且class爲01 或者02 的

db.class2.find({"age":{$gt:18},$or:[{"class":"01"},{"class":"02"}]}).pretty()

5、查找返回指定個數文檔

db.class.find({},{"title":1,_id:0}).limit(3)

6、跳過第一個文檔

db.class.find({},{"title":1,_id:0}).limit(1).skip(1)

7、排序

降序排序

db.class.find({},{"title":1,_id:0}).sort({"like":-1})

升序排序

db.class.find({},{"title":1,_id:0}).sort({"like":1})

8、計數count

db.class.count()

9、聚合

按class分組並計數

db.class.aggregate([{$group : {_id : "$class", num_tutorial : {$sum : 1}}}])

補充表達式:

$sum   計算總和
$avg   求平均值
$min   獲取集合中所有文檔對應值得最小值
$max   獲取集合中所有文檔對應值得最大值
$first 根據資源文檔的排序獲取第一個文檔數據
$last  根據資源文檔的排序獲取最後一個文檔數據

 

九、刪除文檔

db.collection.remove(
   <query>,
   <justOne>
)

2.6版本以後的

db.collection.remove(
   <query>,
   {
     justOne: <boolean>,
     writeConcern: <document>
   }
)

參數說明:

  • query :(可選)刪除的文檔的條件。
  • justOne : (可選)如果設爲 true 1,則只刪除一個文檔。
  • writeConcern :(可選)拋出異常的級別。
db.class.remove(DELETION_CRITERIA,1)刪除一條

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章