MongoDB实现update的方式有
updateOne
updateMany
replaceOne
1.更新匹配条件的第一条文档
db.inventory.updateOne(
{ item: "paper" },
{
$set: { "size.uom": "cm", status: "P" },
$currentDate: { lastModified: true }
}
)
此条命令针对inventory表中符合item='paper’的第一条文档,将size.uom更新为cm,status更新为p,lastModified更新为当前时间,如果lastModified不存在,则新建该列。
2.更新所有匹配条件的文档
db.inventory.updateMany(
{ "qty": { $lt: 50 } },
{
$set: { "size.uom": "in", status: "P" },
$currentDate: { lastModified: true }
}
)
将所有符合qty<50的文档更新。
3.替换匹配条件的第一条文档
db.inventory.replaceOne(
{ item: "paper" },
{ item: "paper", instock: [ { warehouse: "A", qty: 60 }, { warehouse: "B", qty: 40 } ] }
)
此命令将item='paper’的第一条文档替换成{ item: “paper”, instock: [ { warehouse: “A”, qty: 60 }, { warehouse: “B”, qty: 40 } ] },但是_id列不变。