Menu
×
   ❮   
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”的帖子的“点赞”计数。

示例

db.posts.find( { title: "Post Title 1" } ) 
亲自尝试 »

现在让我们将此帖子的“点赞”数更新为 2。为此,我们需要使用 $set 操作符。

示例

db.posts.updateOne( { title: "Post Title 1" }, { $set: { likes: 2 } } ) 
亲自尝试 »

再次检查文档,您将看到“点赞”已更新。

示例

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(增量)操作符

db.posts.updateMany({}, { $inc: { likes: 1 } })
亲自尝试 »

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


×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.