在Nodejs中的循环内解析body.req

时间:2017-06-15 09:14:23

标签: javascript json node.js express post

如何使用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;
...

还要考虑一些身体参数是数组

3 个答案:

答案 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 运算符匹配所有对象键,包括对象原型链中的对象键。