如何使用for循环在Nodejs中使用mongoose解析和保存POST请求的主体,以避免手动保存每个属性?
我想做点什么
for(var param in body)
Model.param=req.body.param;
而不是
Model.name=req.body.name;
Model.email=req.body.email;
Model.birth=req.body.birth;
...
还要考虑一些身体参数是数组。
答案 0 :(得分:5)
You don't need a loop at all
Object.assign(Model, req.body)
答案 1 :(得分:4)
这样的代码应该可以工作,即使对于数组也是如此。
for(var property in req.body) {
Model[property] = req.body[property];
}
答案 2 :(得分:2)
尝试这样的事情:
for (let key of Object.keys(req.body)) {
Model[key] = req.body[key]
}
Object.keys()
是获取所有密钥而非in
的更安全的方法。由于 in 运算符匹配所有对象键,包括对象原型链中的对象键。