菜单
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

MongoDB mongosh 更新


更新文档

要更新现有文档,我们可以使用 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() 方法将更新所有匹配指定查询的文档。

示例

将所有文档的 likes 更新为 1。为此,我们将使用 $inc (increment) 操作符。

db.posts.updateMany({}, { $inc: { likes: 1 } })
自己动手试一试 »

现在检查所有文档中的 likes,您会看到它们都已增加 1。


×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持