0
例の場合{a : "x",count : 2},{a : "y",count : 5}
値がxでレコードがa = yのレコードの場合、カウントを5に更新する場合、カウントを9に変更する必要がありますが、どのようにしてmongooseで更新する必要がありますか?マングースの異なる値を持つマルチプルレコードを更新する最良の方法は何ですか?
例の場合{a : "x",count : 2},{a : "y",count : 5}
値がxでレコードがa = yのレコードの場合、カウントを5に更新する場合、カウントを9に変更する必要がありますが、どのようにしてmongooseで更新する必要がありますか?マングースの異なる値を持つマルチプルレコードを更新する最良の方法は何ですか?
複数のドキュメントは、({multi:true}オプションを渡すことで)1つのクエリに対してのみ更新できます。しかし、複数のクエリでは、複数の呼び出しを使用して更新を行うことができます。コードを並列に実行するasync parallelを試してください。
async.parallel([
function(callback) {
Model.update({a: "x"}, {count: 5}, {multi: true}, function(err, result){
if(err){
callback(err)
}
else{
callback(null, result);
}
})
},
function(callback) {
Model.update({a: "y"}, {count: 9}, {multi: true}, function(err, result){
if(err){
callback(err)
}
else{
callback(null, result);
}
})
}
],
function(err, results) {
if(err){
console.log(err)
}
else{
console.log(results)
}
});