Mongoose Stream,如何更新每个文档?
Posted
技术标签:
【中文标题】Mongoose Stream,如何更新每个文档?【英文标题】:Mongoose Stream, how to update each doc? 【发布时间】:2017-02-19 16:30:58 【问题描述】:我想根据 updateIds 数组更新 n 个文档。我正在使用 Mongoose Stream .on('data, function() )。这是正确地找到所有正确的文档。但现在我不确定如何更新每个文档。我可以在 on.('data', function(doc)) 里面写类似 doc.update(query, key: value) 的东西吗?
Wine.find(
'_id': $in: updateIds
).stream()
.on('data', function(doc)
// how do I update a doc property here?
)
.on('error', function(error)
throw error;
)
.on('end', function()
// final callback
);
【问题讨论】:
现在,见mongoosejs.com/docs/queries.html#streaming 【参考方案1】:你可以这样做。
Wine.find(
'_id': $in: updateIds
).stream()
.on('data', function(doc)
doc.set('property_name', "value");
doc.save(function(err)
);
)
.on('error', function(error)
throw error;
)
.on('end', function()
// final callback
);
或者如果你想用相同的数据更新文档,你可以这样做,
Wine.update( _id: $in: updateIds ,
property: "value" ,
multi : true,
function(err, count)
);
【讨论】:
嗯,这是有道理的。谢谢!以上是关于Mongoose Stream,如何更新每个文档?的主要内容,如果未能解决你的问题,请参考以下文章