回首页

1 创建文档

插入一个文档

db.COLLECTION_NAME.insert(document)

如没指定_id 会自动生成一个_id,也可以自定义自增id

插入多个文档

db.COLLECTION_NAME.insert([document,document,document])

其他方法

插入一个文档

db.COLLECTION_NAME.insertOne()

插入多个文档

db.COLLECTION_NAME.insertMany([document,document,document])

2 查询文档

document 表示条件,KEY:1 表示这个字段是否显示

db.COLLECTION_NAME.find(document,{KEY:1})

$and

db.mycol.find(
   {
      $and: [
         {key1: value1}, {key2:value2}
      ]
   }
).pretty()

$or

db.mycol.find(
   {
      $or: [
         {key1: value1}, {key2:value2}
      ]
   }
).pretty()

相等

db.mycol.find({"by":"yiibai"}).pretty()

小于

db.mycol.find({"likes":{$lt:50}}).pretty()

小于等于

db.mycol.find({"likes":{$lte:50}}).pretty()

大于

db.mycol.find({"likes":{$gt:50}}).pretty()

大于等于

db.mycol.find({"likes":{$gte:50}}).pretty()

不等于

db.mycol.find({"likes":{$ne:50}}).pretty()

3 查询嵌入/嵌套文档 (json格式的字段)

准备一些数据

db.inventory.insertMany( [
   { item: "journal", qty: 25, size: { h: 14, w: 21, uom: "cm" }, status: "A" },
   { item: "notebook", qty: 50, size: { h: 8.5, w: 11, uom: "in" }, status: "A" },
   { item: "paper", qty: 100, size: { h: 8.5, w: 11, uom: "in" }, status: "D" },
   { item: "planner", qty: 75, size: { h: 22.85, w: 30, uom: "cm" }, status: "D" },
   { item: "postcard", qty: 45, size: { h: 10, w: 15.25, uom: "cm" }, status: "A" }
]);

size 是json格式的字段,查询的时候,须按顺序查询

db.inventory.find( { size: { h: 14, w: 21, uom: "cm" } } )

支持点语法

db.inventory.find( { "size.uom": "in" } )

支持条件

db.inventory.find( { "size.h": { $lt: 15 }, "size.uom": "in", status: "D" } )

4 更新文档

multi 设为true 更新多个文档

db.mycol.update({'title':'MongoDB Overview'},{$set:{'title':'New Update MongoDB Overview'}},{multi:true})

save是覆盖掉已有的文档

db.mycol.save(
   {
      "_id" : 100, "title":"Update By Save()Method.", "by":"yiibai.com"
   }
)

5 删除文档

DELLETION_CRITTERIA 是条件,1表示只删除一条记录

db.COLLECTION_NAME.remove(DELLETION_CRITTERIA,1)

删除所有文档记录

db.mycol.remove()