MongoDB mongosh
更新
更新文档
要更新现有文档,我们可以使用 updateOne()
或 updateMany()
方法。
第一个参数是一个查询对象,用于定义应该更新哪个或哪些文档。
第二个参数是一个对象,定义了更新的数据。
updateOne()
updateOne()
方法将更新找到的第一个匹配指定查询的文档。
让我们看看标题为“Post Title 1”的文章的“like”计数。
现在,让我们将这篇帖子的“likes”更新为 2。为此,我们需要使用 $set
操作符。
再次检查文档,您会看到“like”已被更新。
如果未找到则插入
如果您想在文档未找到时插入它,可以使用 upsert
选项。
示例
更新文档,但如果未找到则插入
db.posts.updateOne(
{ title: "Post Title 5" },
{
$set:
{
title: "Post Title 5",
body: "Body of post.",
category: "Event",
likes: 5,
tags: ["news", "events"],
date: Date()
}
},
{ upsert: true }
)
自己动手试一试 »
updateMany()
updateMany()
方法将更新所有匹配指定查询的文档。
示例
将所有文档的 likes
更新为 1。为此,我们将使用 $inc
(increment) 操作符。
db.posts.updateMany({}, { $inc: { likes: 1 } })
自己动手试一试 »
现在检查所有文档中的 likes,您会看到它们都已增加 1。