admin管理员组文章数量:1332872
I have a mongoose document, and i want to update many fields on it with another object. something like
Model.findById(_id, function (err, doc){
var updateData = {...data}
// i do not want to do
doc.foo = data.foo;
doc.bar = data.bar;
// i need something like
doc.save(updateData)
// or
doc.update(updateData)
// or
doc = {...doc, ...updateData}
doc.save();
});
the updateData is a object with all the data i need to update in the doc.
didn't found any doc related, the closest was a find one and update...
I have a mongoose document, and i want to update many fields on it with another object. something like
Model.findById(_id, function (err, doc){
var updateData = {...data}
// i do not want to do
doc.foo = data.foo;
doc.bar = data.bar;
// i need something like
doc.save(updateData)
// or
doc.update(updateData)
// or
doc = {...doc, ...updateData}
doc.save();
});
the updateData is a object with all the data i need to update in the doc.
didn't found any doc related, the closest was a find one and update...
Share Improve this question edited Sep 22, 2017 at 17:57 CommunityBot 11 silver badge asked May 8, 2017 at 14:48 Maxwell s.cMaxwell s.c 1,66816 silver badges30 bronze badges2 Answers
Reset to default 6Assuming your data
object has all of the keys you want to update on the document, why don't you try using Object.assign
as you mention in the title of your question:
Object.assign(doc, data);
doc.save(callback); // save is async
Or you can use Mongo's .findByIAndUpdate()
like so:
Model.findByIdAndUpdate(id, { $set: data }, callback)
Either way, you can avoid manually setting each property you want to update.
try this
// update
router.put("/updatestudent/:id", function(req, res) {
var id = req.params.id;
var obj = req.body;
student.findByIdAndUpdate(id, { name: obj.name, emailid: obj.emailid },
function(err) {
if (err) {
return res.send('error updated student');
}
res.send("updated");
});
});
本文标签: javascriptMongoosesave document ObjectassignStack Overflow
版权声明:本文标题:javascript - Mongoose - save document Object.assign - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1742310000a2450675.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论