Quiero crear una estructura de documento mongodb como la siguiente.
data:[[{a:b},{b:c}],[{e:f}],[{f:g},{j:h},{i:l}]]Esta estructura me permitirá agregar un nuevo elemento de matriz secundaria, el cuarto a la matriz de datos existente que contiene tres matrices secundarias en el ejemplo anterior, si es necesario.
Puedo agregar un nuevo elemento de matriz secundaria usando el siguiente comando desde el shell mongodb.
db.xyz.update({'id':'A01'},{$push:{data:[]}},{})Sin embargo, no puedo encontrar una solución para enviar datos a las matrices respectivas. El siguiente comando no funciona.
db.xyz.update({'id':'A01'},{$push:{data[0]:{$push:{a:b}}}},{})Un solo $ push debería ser suficiente. Prueba esto en su lugar:
db.xyz.update({'id':'A01'}, {$push: {"data.0": {a: "b"}}})resultado:
{ "_id":ObjectId("586b907a4979a26deaacf4ad"), "data":[ [ { "a":"b" }, { "b":"c" }, { "a":"b" } ], [ { "e":"f" } ], [ { "f":"g" }, { "j":"h" }, { "i":"l" } ] ] }