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

Popular posts from this blog

ubuntu - PHP script to find files of certain extensions in a directory, returns populated array when run in browser, but empty array when run from terminal -

php - How can i create a user dashboard -

javascript - How to detect toggling of the fullscreen-toolbar in jQuery Mobile? -