2014-05-03 10 views
6

सभी अद्यतन फ़ील्ड पर लूप करने की कोशिश कर रहा है और मुझे सहेजने से पहले गतिशील रूप से अपडेट किया गया है।रूबी के 'प्रेषण' के बराबर जावास्क्रिप्ट

Product.findOne({ _id: productNewData['_id'] }, function (err, doc) { 
    for (var key in productNewData) { 
    # what do I do here? 
    } 
    doc.save(); 
}); 

मैं जानता हूँ कि गहरे लाल रंग का इस तरह एक भेजें विधि है:

doc.send(key) = productNewData[key] 

मुझे लगता है मैं दिए गए पैरामीटर मान्य और eval उपयोग कर सकते हैं। क्या कोई और तरीका है?

+3

मैं तुम क्या कह रहे हैं के बारे में सुनिश्चित नहीं हूँ। शायद 'डॉक्टर [कुंजी] = productNewData [कुंजी] '। productNewData क्या है? – Vinz243

+0

हाँ, क्षमा करें। मैं कैसे बंद करूं? – WebQube

उत्तर

10

वे जावास्क्रिप्ट में गुणों को acces करने के दो तरीके हैं: डॉट नोटेशन या ब्रैकेट का उपयोग करना। उदाहरण:

var foo = {bar: 42} 
foo.bar // 42 
foo["bar"] // 42 
var v = "bar" 
foo[v] // 42 
foo.v // undefined 

तो:

Product.findOne({ _id: productNewData['_id'] }, function (err, doc) { 
    for (var key in productNewData) { 
    doc[key] = productNewData[key] 
    } 
    doc.save(); 
}); 
संबंधित मुद्दे