来自Aggregate的MongoDB更新

时间:2017-07-10 17:20:20

标签: mongodb nosql

我是Mongo的新手,需要一些创建更新声明。我有两个不同的集合。我需要使用我的聚合查询的结果更新一个集合的值,其中id匹配。

这是我的聚合查询,它为我提供了其他集合的ID以及我需要将其设置为的值:

db.ResultsCollection.aggregate(
    {$group:{_id:"$SystemId", "maxValue": {$max:"$LastModified"}}}
);

如何使用此数据遍历其他集合并更新_id与我的aggreagate中的SystemId匹配?

更新后的代码:

db.ResultsCollection.aggregate(
    {$group:{_id:"$SystemId", "maxValue": {$max:"$LastModified"}}}
).forEach(function(     
    db.CollectionToUpdate.updateOne(
      { _id : doc._id },
      { $set: {UpdateDate: doc.maxValue } },
      { upsert: false }
   );   
});

我更新的代码不会生成语法错误,但在刷新时不会更新结果。

0 个答案:

没有答案