mongodb设置键值动态变化的对象

时间:2019-01-21 04:14:38

标签: mongodb

在文档中,我有一个名为farms的对象,并且在此对象中,我想用以下方式更新键值对。我该怎么办?

$set:{"farms[${farm._id}]":{name:"a-farm", size:100}

结果看起来像这样(假设farm._id = 12345

farms:{"12345": {name"a-farm", size: 100}}

1 个答案:

答案 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 } }  })