快速掌握MongoDB增刪改查(CRUD)基本操作

1、insert 插入操作

1.1、操作語法

  • 單條插入
 db.<集合>.insertOne(<JSON對象>)
  • 多條插入
 db.<集合>.insertMany(<JSON 對象1>,<JSON 對象2>....<JSON 對象n>)

1.2、插入操作示例

  • 單條插入
db.animal.insertOne({name:"dog",age:10})
  • 多條插入
db.animal.insertMany([{name:"cat",age:5},{name:"pig",age:2}])
  • 插入子文檔
db.animal.insertOne({name:"Panda",age:5,from:{country:"china", city:"Sichuan"}})
  • 插入帶有集合的字段
db.animal.insertOne({name:"Tiger",age:5,color:["Yellow","white"]})

2、find 查詢操作

1.1、MongoDB查詢邏輯運算符

  • $lt:存在並小於
  • $lte:存在並小於等於
  • $gt:存在並大於
  • $gte:存在並大於等於
  • $ne:不存在或者存在不等於
  • $in:存在並在指定數組中
  • $nin:不存在或不在指定數組中
  • $or:匹配兩個或者多個條件中的一個
  • $and:匹配全部條件

1.2、find 查詢操作示例

  • 單條件查詢
db.animal.find({"name":"dog"})  //查找名稱爲dog的動物
  • 多條件and查詢
db.animal.find({$and:[{"name":"dog",age:1}]})//多條件and
  • 多條件and查詢 另外一種寫法
db.animal.find({"name":"dog",age:1})  //查找名稱爲dog,年齡爲1的動物
  • 多條件or查詢
db.animal.find({$or[{name:"Panda"},{age:5}]}) //查詢動物名稱爲Panda或者年齡爲5的動物
  • 邏輯操作符小於等於
db.animal.find({$or:[{name:"Panda"},{age:{$lte:2}}]})  //查詢動物名稱爲Panda或者年齡爲小於等於2的動物
  • 邏輯操作符大於等於
db.animal.find({$and:[{name:"Panda"},{age:{$gte:2}}]})  //查詢動物名稱爲Panda並且年齡爲大於等於2的動物
  • in 邏輯操作符
db.animal.find({$and:[{"name":"Tiger",color:{$in:["Yellow"]}}]})  //查找名稱是Tiger並且顏色包含`Yellow`的動物
  • 查詢子文檔
db.animal.insertOne({name:"Panda",age:5,from:{country:"china", city:"Sichuan"}}) //數據
db.animal.find({"form.country":"china"})  //查詢來自中國的動物

1.3、查詢結果返回指定字段

  • 語法
db.<集合>.find({<查詢條件>},{<返回字段 0 不返回字段,1返回字段>})
  • 示例

查詢結果不返回主鍵_id,只 返回name

db.animal.find({age:{$gte:2}},{"_id":0,"name":1})

PS:MongoDB主鍵_id必須明確指定不返回,否則默認返回

3、更新操作

3.1、操作語法

db.<集合>.update(<查詢條件>,<更新字段>)

3.2、更新操作示例

以以下數據爲例:

db.animal.insertMany([
            {name:"Lion",age:1},
            {name:"Elephant",age:3},
            {name:"Leopard",age:7}
          ])
  • 單條更新 updateOne
    使用updateOne表示無論條件匹配多少條記錄,只更新第一條。
db.animal.updateOne({name:"Lion"},{$set:{from:"china"}}) //找到name爲Lion的記錄,將form設置爲Lion
  • 多條更新 updateMany

    使用updateMany表示條件匹配多少條,就更新多少條

db.animal.updateMany({age:{$gte:2}},{$set:{from:"china"}}) //找到age大於等於2的記錄,將form設置爲Lion

4、刪除操作

4.1、操作語法

db.<集合>.remove({<刪除條件>})

4.2、刪除示例

  • 單條件刪除
db.animal.remove({name:"dog"}) //刪除name爲dog的數據
  • 多條件刪除
db.animal.remove({$and:[{name:"Panda"},{age:{$gte:2}}]}) //刪除Panda並且年齡大於等於2
  • 全部刪除
db.animal.remove({})
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章