Mongodb: How to use $addToSet for nest arrays? -
i wanted use $addtoset on nested array nested within array.
db.test.insert( {user:"user1", connections:[ {layer1_id:"layer1_id1", trans:[ {label:"label1",value:100}, {label:"label2",value:200}] }, {layer1_id:"layer1_id2", trans:[ {label:"label3",value:300}, {label:"label4",value:100}] } ]}
)
db.test.insert( {user:"user2", connections:[ {layer1_id:"layer1_id3", trans:[ {label:"label5",value:1000}, {label:"label6",value:2000}] }, {layer1_id:"layer1_id4"} ]} ) //this gives error db.test.update({"connections.trans.value":1000},{ "$addtoset":{"connections.trans.$":{label:"label_more",value:3000}}})
part of error message is
"errmsg": "cannot use part (connections of connections.trans.0) traverse element ...
from reading https://docs.mongodb.com/manual/reference/operator/update/positional/ (at 21 aug 2017) says that
the positional $ operator cannot used queries traverse more 1 array, such queries traverse arrays nested within other arrays, because replacement $ placeholder single value
however https://jira.mongodb.org/browse/server-831 seems suggest new feature has been implemented can fix it.
i know how write code addtoset nested array within array or problem still impossible?
Comments
Post a Comment