我正在尝试更新文档中的数组元素,但我希望能够动态控制哪个元素,这样可行:
var doc = Collection.findOne({...});
Collection.update({_id: doc._id}, {$set: {"field.1.subfield": 10}});
但是我希望能够将javascript变量传递给“field.1.subfield”中的1
请帮忙! 感谢
答案 0 :(得分:3)
这应该可以解决问题,将对象解析为$ set。
var n = {};
n['field.'+i+'.subfield'] = 10;
Collection.update({_id: doc._id}, {$set:n});
如果您遇到问题请与我们联系。