手册
目录
要更新现有文档,我们可以使用 updateOne() 或 updateMany() 方法。
第一个参数是查询对象,用于定义应更新哪个或哪些文档。
第二个参数是定义更新数据的对象。
updateOne() 方法将更新找到的第一个与提供的查询匹配的文档。
让我们看看标题为 "Post Title 1" 的帖子的 "like" 数:
db.posts.find( { title: "Post Title 1" } )
运行实例
现在,让我们将此帖子的 "likes" 更新为 2。为此,我们需要使用 $set 运算符。
db.posts.updateOne( { title: "Post Title 1" }, { $set: { likes: 2 } } )
运行实例
再次检查文档,您会发现 "like" 已经被更新。
db.posts.find( { title: "Post Title 1" } )
运行实例
如果您想在未找到文档时插入该文档,可以使用 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() 方法将更新所有与提供的查询匹配的文档。
使用 $inc(增量)运算符将所有文档的点赞数增加1:
db.posts.updateMany({}, { $inc: { likes: 1 } })
运行实例
现在检查所有文档中的点赞数,您将看到它们都已增加 1。
相关
视频
RELATED VIDEOS
科技资讯
1
2
3
4
5
6
7
8
9
精选课程
共5课时
17.2万人学习
共49课时
77万人学习
共29课时
61.7万人学习
共25课时
39.3万人学习
共43课时
70.9万人学习
共25课时
61.6万人学习
共22课时
23万人学习
共28课时
33.9万人学习
共89课时
125万人学习