3

我有一个类似于[{_id:64,minitem:30},{},{}...]变量结果内部的 JSON 数组对象。这是聚合操作的结果,它是最低分数的投影。我需要遍历这个结果并从 DB 中删除 minvales。我无法遍历结果对象..我试过了

for(i=0; i<result.length; i++){ 
  db.students.update({ 
        '_id': result['_id']
      }, { 
         '$pull': { 'scores': { 'score': result[i]['minitem'] } } 
      }) 
  }

这似乎没有效果。DB 不变。我正在从mongoshell 中尝试这个。

4

1 回答 1

3
result['result'].forEach(function(doc){
    db.students.update(
        {'_id': doc._id}, 
        {'$pull':{'scores': {'score': doc.minitem }}}
    );
});

在 Mongo Shell 中使用 forEach 函数。

请注意,在聚合之后,文档实际上result当前位于返回文档中的一个元素内。

于 2014-02-03T08:58:39.693 回答