MongoDB 简明教程

MongoDB 更新文档

1. updateOne()

若要更新单个文档,请使用 updateOne() 方法。

此方法接受两个主要参数:

  1. 一个用于筛选要更新文档的查询对象。
  2. 一个包含更新内容的更新对象。

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 }
)