MongoDB 教程

浏览4896
更新时间2025-08-13

更新文档

要更新现有文档,我们可以使用 updateOne()updateMany() 方法。

第一个参数是查询对象,用于定义应更新哪个或哪些文档。

第二个参数是定义更新数据的对象。

updateOne()

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

updateMany() 方法将更新所有与提供的查询匹配的文档。

实例

使用 $inc(增量)运算符将所有文档的点赞数增加1:

db.posts.updateMany({}, { $inc: { likes: 1 } })

运行实例

现在检查所有文档中的点赞数,您将看到它们都已增加 1。

相关视频

更多

免费

MySQLi面向过程极速入门
中级MySQLi面向过程极速入门

129788次学习

收藏

免费

MySQLi面向对象编程极速入门
中级MySQLi面向对象编程极速入门

71556次学习

收藏

免费

MySQL权威开发指南(教程)
初级MySQL权威开发指南(教程)

154772次学习

收藏

免费

MySQL高级进阶视频教程
高级MySQL高级进阶视频教程

131506次学习

收藏
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号