我已经浏览了以下答案:- update multiple records using mongoosejs in node
Update multiple docs with different values
但就我而言,我的查询是动态的,意味着我需要动态查询 基于对象, 我也不确定 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);
}
);
最佳答案
不知道这是否有帮助,但看起来您不确定是否要解析 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)
})
})
关于node.js - 使用动态查询在 Node 中使用 Mongoose 更新多条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36710518/