想要在文档数组中插入对象属性
考虑集合 m 中的一个文档
{ "_id" : ObjectId("524bfc39e6bed5cc5a9f3a33"),
"x" : [
{ "id":0.0, "name":"aaa"},{ "id":1.0, "name":"bbb"}
]
}
想要添加age:100
到{ "id":0.0, "name":"aaa"}
. 不仅仅是年龄..而是在数组元素 {} 中提供 upsert。所以它可以包含{age:100,"city":"amd"}
(因为我是从应用程序服务中获取的)
正在尝试这个......但没有奏效,因为它替换了整个数组元素
db.m.update({_id:ObjectId("524bfc39e6bed5cc5a9f3a33"),
"x" : {
"$elemMatch" : {
"id" : 0.0
}
}},
{
$set : {
"x.$" : {
"age": 100
}
}
},
{upsert: true}
)
将文档更改为(我不想要)
{ "_id" : ObjectId("524bfc39e6bed5cc5a9f3a33"),
"x" : [
{ "age":100},{ "id":1.0, "name":"bbb"}
]
}
在不更改架构的情况下这是否可能。