MongoDB,跨多个文档更新数组中的所有值

时间:2018-03-28 22:02:58

标签: arrays mongodb

假设我在Mongodb中有以下文件

static

我希望在所有这些数据中找到所有100个并更改为新值。

1 个答案:

答案 0 :(得分:0)

你必须迭代你的数组。

db.setlists.find({"grades": { $gte :  100, $lt : 200}}).forEach(function(doc){
   var grades = doc.grades;
  for(var i in grades) {
   (if grades[i] >= 100 && grades[i] < 200) {
      //update the value
      grades[i] = new_value;
    }
  }
 db.setlists.update({"_id": doc._id}, {$set:{"grades": grades}})
});