3.5 CRUD操作 🎉
...大约 2 分钟
3.5 CRUD操作 🎉
添加文档 💎
添加单个文档,如果集合不存在,会创建一个集合 db.collection.insertOne()
如果不指定id, MongoDB会使用ObjectId的value作为id
db.j3.insertOne({ item: "canvas", qty: 100, tags: ["cotton"], size: { h: 28, w: 35.5, uom: "cm" } })
添加多个文档 db.collection.insertMany()
db.j3.insertMany([{ item: "journal", qty: 25, tags: ["blank", "red"], size: { h: 14, w: 21, uom: "cm" } },{ item: "mat", qty: 85, tags: ["gray"], size: { h: 27.9, w: 35.5, uom: "cm" } },{ item: "mousepad", qty: 25, tags: ["gel", "blue"], size: { h: 19, w: 22.85, uom: "cm" }}])
查询文档 💎
查询集合所有文档
db.j3.find({})
查询指定内容的文档1
db.j3.find( { size: { h: 14, w: 21, uom: "cm" } } ) # 查询出1条
查询指定内容的文档2
db.j3.find( { size: { w: 21, h: 14, uom: "cm" } } ) # 查询出0条,原因是顺序不匹配
匹配size中w属性为21的文档
db.j3.find( { "size.w": 21 } ) # 查询出1条
匹配size中h属性值小于25的文档
db.j3.find( { "size.h": { $lt: 25 } } ) # 查询出2条
匹配h属性小于25并且uom属性为“in”,并且w属性大于22的文档
db.j3.find( { "size.h": { $lt: 25 } , "size.w": { $gt: 22 } } ) # 查询出1条
更新文档 💎
更新item值为“mousepad”的第一个文档 将它的size.uom设置为“km”,qty值设置为333 并且把lastModified字段更新为当前时间,如果该字段不存在,则生成一个
db.j3.updateOne({ item: "mousepad" },{$set: { "size.uom": "km", qty: 333 },$currentDate: {lastModified: true }})
更新qty属性值小于100的所有文档 将它的size.uom设置为“in” 并且把lastModified字段更新为当前时间,如果该字段不存在,则生成一个
db.j3.updateMany({ "qty": { $lt: 100 } },{ $set: { "size.uom": "in"},$currentDate: { lastModified: true }})
把item属性为“canvas”的文档替换成下面的内容
db.j3.replaceOne({ item: "canvas" },{ item: "canvas", instock: [ { warehouse: "A", qty: 60 }, { warehouse: "B", qty: 40 } ] })
删除文档 💎
删除集合所有文档
db.j3.deleteMany({})
删除指定条件的文档
db.j3.deleteMany({ "size.uom" : "in" })
最多删除1个指定条件的文档
db.j3.deleteOne( { qty : {$gt: 30} } )
与SQL语法的对应:
Powered by Waline v2.15.7