我想添加一個歸檔文件作爲聚合的結果。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