跳至主要內容

3.5 CRUD操作 🎉

刘春龙...大约 2 分钟数据库mongodb

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