我想添加一个归档文件作为聚合的结果。MongoDB更新汇总
聚合返回多个项目,但只更新一个。
为什么只有一个?
这里是我的代码
var maxCount = db.technology.aggregate({
$group: {
_id:"$_id",
stackMax: {
$max:"$stackTimeLine.statistics.count"}
}
});
while(maxCount.hasNext()) {
var item=maxCount.next();
db.technology.update(
{_id:item._id},
{$set: {'stackTimeLine.latest':item.stackMax[0]}}
);
}
结果:
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 0 })
删除结果:真。 db.collection.update(, , { 多:真 } )尝试:db.technology.update( {_id:item._id},{ $设置:{'stackTimeLine.latest ':item.stackMax [0]}},{'multi':true} ); –
cehmja
2015-02-11 16:48:33
我试过了,没有运气。而且每个更新只应更新一个条目。不需要“多”。 – 2015-02-11 17:42:59
你的聚合并没有做任何事情。然后,您将字段设置为其当前值,因此它是无操作的。你能描述一下你想要添加到文档中吗? – wdberkeley 2015-02-11 18:22:19