有没有办法在嵌入式阵列中添加或删除文档,以及更新现有文档 在嵌入式数组中?
e.g。给定
{
"_id" : ObjectId("547dd21f6e04d152fccedf1b"),
"intF" : 0,
"arrayD" : [
{
"name" : "baz",
"contents" : "baz contents"
}
}
试图
db.dummy.update(
// query
{
"_id" : ObjectId("547dd21f6e04d152fccedf1b")
},
// update
{
$set : { "arrayD.0.contents": "no contents" },
$push : { arrayD : { $each : [ { name : "bam", contents : null } ] }
}
},
// options
{
"multi" : false, // update only one document
"upsert" : false // insert a new document, if no existing document match the query
}
);
给出错误
无法同时更新'arrayD.0.contents'和'arrayD'
我看到的选项是
有更好的方法吗?