在 MongoDB 中,批量更新數據的常用方法是使用 updateMany
方法。該方法可以一次性更新滿足指定條件的多個文檔。
語法如下:
db.collection.updateMany(
<filter>,
<update>,
{
upsert: <boolean>,
writeConcern: <document>
}
)
其中,collection
是集合名稱,filter
是一個查詢條件,用于指定要更新的文檔,update
是要更新的操作,upsert
是一個可選參數,如果設置為 true,則表示如果找不到滿足條件的文檔時,將會插入一條新文檔。
下面是一個示例:
假設有一個名為 users
的集合,其中包含了一些用戶文檔,我們想要將所有年齡大于 30 的用戶的狀態設置為“已審核”。
db.users.updateMany(
{ age: { $gt: 30 } },
{ $set: { status: "已審核" } }
)
上述示例中,$gt
表示大于的意思,$set
是更新操作符,用于設置文檔的 status
字段為“已審核”。
請注意,updateMany
方法會將滿足條件的所有文檔都進行更新。如果只想更新第一條滿足條件的文檔,可以使用 updateOne
方法。