2017-06-15 3 views
0

Wie kann ich Körper der POST-Anfrage mit Mungo in Nodejs mit einer for-Schleife analysieren und speichern, um zu vermeiden, jede Eigenschaft manuell zu speichern?Parse body.req in einer Schleife in Nodejs

würde Ich mag so etwas wie

for(var param in body) 
    Model.param=req.body.param; 

statt

Model.name=req.body.name; 
Model.email=req.body.email; 
Model.birth=req.body.birth; 
... 

erwägt auch tun, dass einige KörperparameterArray sind.

+0

@VedranMaricevic nicht sicher, ich sehe, wie Destrukturierung der Lösung anders sein würde als die OP zu vermeiden wünscht? – James

Antwort

3

Sie brauchen nicht eine Schleife an allen

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

Dies ist wahrscheinlich die beste Antwort –

1

Code wie dieser sollte funktionieren, auch für die Arrays.

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

so etwas wie dieses Versuchen:

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

Object.keys() ist ein sicherer Weg, statt in alle Schlüssel bekommen. Als in entspricht der Operator allen Objektschlüsseln, einschließlich denen in der Prototypkette des Objekts.

+1

Identische Antwort zu meinen, aber erfordert Unterstützung des Schlüsselwortes "let". –

+0

Let wird von allen aktuellen Browsern und von Node Stable-Versionen an dieser Stelle unterstützt – zaingz

+0

Dies ist wahr, nicht unbedingt alle Hintergrund zu ihrem System obwohl. Beide Syntax ist gültig –

Verwandte Themen