我已经通过以下答案: - update multiple records using mongoosejs in node
Update multiple docs with different values
但在我的情况下,我的查询是动态的,意味着我需要动态查询 基于obj, 我也不确定forEach是否是一个混乱的解决方案 有没有更好的选择,因为每次都需要花费太多时间。
req.body.forEach(function (obj) {
myModel.find(
{
country: obj.country,
product: obj.product,
month: parseInt(obj.month),
}
).update({
$set: {
value: parseInt(obj.value),
'lastmodified': Date.now()
}
},
{ upsert: true},
function (err) {
//callback();
if (err) {
return res.status(500).send(err);
}
return res.status(200);
}
);
答案 0 :(得分:0)
不知道这是否有用但看起来您不确定解析req.body
以查找文档。这只是伪代码。也许它会给你一个想法。
app.put("/post", function(req, res){
myModel.find({
country : req.body.country,
product : req.body.product,
month : parseInt(req.body.month)
})
myModel.save(function(err, results){
if(err) console.log(err);
console.log(results)
res.send(results)
})
})