猫鼬流,如何更新每个文档?
Mongoose Stream, how to update each doc?
我想根据 updateId 数组更新 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
});
你可以这样做。
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){
});
我想根据 updateId 数组更新 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
});
你可以这样做。
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){
});