在mongo DB shell中查询后如何遍历结果对象

时间:2014-02-03 08:53:28

标签: mongodb mongo-shell

我在变量结果中有一个类似[{_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'] } } 
      }) 
  }

这似乎没有效果。数据库没有改变。我是从mongo shell尝试这个。

1 个答案:

答案 0 :(得分:3)

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

使用Mongo Shell中的forEach函数。

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