MongoDB 更新文档
1. updateOne()
若要更新单个文档,请使用 updateOne() 方法。
此方法接受两个主要参数:
- 一个用于筛选要更新文档的查询对象。
- 一个包含更新内容的更新对象。
1.1 $set 操作符
在更新对象中,你通常会使用 $set 操作符。这会告知 MongoDB 仅更新你指定的字段,而保持文档的其他部分不变。
示例
我们将更新标题为 "Post Title 1" 的文档,将其 likes(点赞数)修改为 2:
db.posts.updateOne({ title: "Post Title 1" }, { $set: { likes: 2 } })2. updateMany()
如果你想更新所有符合特定筛选条件的文档,请使用 updateMany() 方法。
示例
我们将更新所有点赞数少于 10 的文档,为它们添加一个名为 trending 的新字段,并将其值设为 true:
db.posts.updateMany({ likes: { $lt: 10 } }, { $set: { trending: true } })3. replaceOne()
如果你希望完全替换一个文档(除了 _id 字段会保留外,其他内容全部重写),请使用 replaceOne() 方法。
示例
我们将使用一个全新的对象来替换标题为 "Post Title 1" 的文档:
db.posts.replaceOne(
{ title: "Post Title 1" },
{ title: "New Title", body: "New body content.", likes: 0 }
)