我尝试根据req.body更新Document中的所有字段。
在这种情况下,Schema未在Mongoose中定义。所以,我可以自由填写帖子中的内容
例如,我在文件中列出了这样的方案:
架构1:
{
"name": {
"type": "text",
"value": "Afdallah"
},
"item": {
"type": "text",
"value": "Books"
}
}
另一个是这样的
架构2:
{
"name": {
"type": "text",
"value": "Afdallah"
},
"email": {
"type": "email",
"value": "afdallah.war@gmail.com"
}
}
我的问题是,当他们没有相同的字段名称时如何更新所有字段?
我尝试这样更新字段。
const output = await Order.findOne({ _id: req.params.id });
try {
output.set(req.body);
await output.save();
res.send("Success Update");
} catch (err) {
res.status(422).send(err);
}
答案 0 :(得分:1)
我知道,您可以利用Object.assign
复制当前数据,并将其与即将推出的req.body
数据合并。
const newData = Object.assign({}, output, req.body);
output = newData;