2017-06-15 58 views
0

如何解析並保存使用for循環的Nodejs中的貓鼬POST請求正文,以避免手動保存每個屬性?解析nodejs中的循環內的body.req

我想這樣做

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

@VedranMaricevic循環不知道我看到解構怎麼會比OP是希望避免的解決方案有什麼不同? – James

回答

3

你並不需要在所有

Object.assign(Model, req.body) 
+1

這可能是最好的答案 –

1

像這樣的代碼應該可以工作,即使對於數組。

for(var property in req.body) { 
    Model[property] = req.body[property]; 
} 
1

嘗試是這樣的:

for (let key of Object.keys(req.body)) { 
    Model[key] = req.body[key] 
} 

Object.keys()是讓所有的鍵而不是in的更安全的方式。由於中的運算符會匹配所有對象鍵,包括對象原型鏈中的對象鍵。

+1

對我的同樣的答案,但需要'let'關鍵字的支持。 –

+0

讓所有最新的瀏覽器和節點穩定版本都支持 – zaingz

+0

這是事實,並不一定知道系統的所有背景。兩種語法都有效 –