2014-05-03 25 views
6

Tüm güncellenmiş alanda döngü yapmaya çalışıyorum Kaydetmeden önce dinamik olarak bunları alıp güncelliyorum.Javycript `Ruby`` için eşdeğeri` `gönder`

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

ben yakut böyle bir gönderme yöntemi olduğunu biliyoruz:

doc.send(key) = productNewData[key] 

Ben verilen params doğrulamak ve eval kullanabilirsiniz sanırım. Başka yolu var mı?

+3

Ben ne istediğini emin değilim. belki de doc [key] = productNewData [key] '. productNewData nedir? – Vinz243

+0

evet, üzgünüm. nasıl kaparım – WebQube

cevap

10

Bunlar, Javascript'te özellikleri etkinleştirmenin iki yoludur: Nokta gösterimi veya parantez kullanma. Örnek: Yani

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(); 
});