参见英文答案 >
Dynamically access object property using variable11个
尝试循环我已经获得的所有更新字段并在保存之前动态更新它们.
尝试循环我已经获得的所有更新字段并在保存之前动态更新它们.
Product.findOne({ _id: productNewData['_id'] },function (err,doc) { for (var key in productNewData) { # what do I do here? } doc.save(); });
我知道ruby有一个这样的发送方法:
doc.send(key) = productNewData[key]
我想我可以验证给定的参数并使用eval.还有其他方法吗?
解决方法
它们是在Javascript中访问属性的两种方式:
使用点表示法或括号.例:
使用点表示法或括号.例:
var foo = {bar: 42} foo.bar // 42 foo["bar"] // 42 var v = "bar" foo[v] // 42 foo.v // undefined
所以:
Product.findOne({ _id: productNewData['_id'] },doc) { for (var key in productNewData) { doc[key] = productNewData[key] } doc.save(); });