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。