在文档中,我有一个名为farms
的对象,并且在此对象中,我想用以下方式更新键值对。我该怎么办?
$set:{"farms[${farm._id}]":{name:"a-farm", size:100}
结果看起来像这样(假设farm._id = 12345
)
farms:{"12345": {name"a-farm", size: 100}}
答案 0 :(得分:1)
您可以使用$set并使用点符号来动态构建密钥,请尝试:
var farm = { _id: 12345 }
var path = "farms." + farm._id;
var documentId = ... // your document id
db.col.update({ _id: documentId }, { $set: { [path]: { name:"a-farm", size:100 } } })