在一个命令中更新与 ID 列表匹配的所有文档

Wyl*_*rio 3 mongodb mongodb-query

有没有办法在一个命令中更新与 id 列表匹配的所有文档。

目前我必须循环每个 id 来更新

var ids = [
  "8007068113729",
  "8007068502622",
  "8007068505821",
  "0825646209804",
  "0880319084614",
  "4260041334885"
]

ids.forEach(function(i){
    db.listing.update({_id:i},{$set:{Supplier:'S'}});
});
Run Code Online (Sandbox Code Playgroud)

sty*_*ane 6

只需使用updateMany方法和$in运算符。

var ids = [
  "8007068113729",
  "8007068502622",
  "8007068505821",
  "0825646209804",
  "0880319084614",
  "4260041334885"
]

db.listing.updateMany({ "_id": { "$in": ids }}, { "$set": { "Supplier": "S" }});
Run Code Online (Sandbox Code Playgroud)