我想创建一个如下所示的mongodb文档结构。
data:[[{a:b},{b:c}],[{e:f}],[{f:g},{j:h},{i:l}]]
这个结构允许我在现有的数据数组中添加新的子数组元素,第四个元素,如果需要,在上面的例子中包含三个子数组。
我可以使用mongodb shell中的以下命令添加新的子数组元素。
db.xyz.update({'id':'A01'},{$push:{data:[]}},{})
但是,我无法找到将数据推送到各个阵列的解决方案。以下命令无效。
db.xyz.update({'id':'A01'},{$push:{data[0]:{$push:{a:b}}}},{})
答案 0 :(得分:1)
单个$ push应该足够了。试试这个:
db.xyz.update({'id':'A01'}, {$push: {"data.0": {a: "b"}}})
结果:
{
"_id":ObjectId("586b907a4979a26deaacf4ad"),
"data":[
[
{
"a":"b"
},
{
"b":"c"
},
{
"a":"b"
}
],
[
{
"e":"f"
}
],
[
{
"f":"g"
},
{
"j":"h"
},
{
"i":"l"
}
]
]
}