javascript - Node.js update elements in MongoDB -


i have following mongoose schema , model:

var deviceschema = new schema({     deviceid:string,     devicename:string,     deviceplace:string,      socket : [{number: number,name:string, state : boolean, current: number, image:number,locked:boolean,reserved:boolean}] }); 

i have device in database 4 sockets.

here example!

this original data.

{     "_id" : objectid("5626569006bc3da468bafe93"),     "deviceid" : "0013a20040b5769a",     "devicename" : "device",     "deviceplace" : "place",     "__v" : 0,     "socket" : [          {             "_id" : objectid("5628bd83570be84e28879e2d"),             "number" : 0,             "name" : "name"             "state" : true,             "current" : 0             "image" : 0,             "locked" : false,             "reserved" : false,         }, ...     ] } 

and received data client update.

{     "_id" : objectid("5626569006bc3da468bafe93"),     "deviceid" : "0013a20040b5769a",     "__v" : 0,     "socket" : [          {             "_id" : objectid("5628bd83570be84e28879e2d"),             "number" : 0,             "name" : "new name!!!!!"             "state" : true,             "current" : 0         }, ...      ] } 

now i'm trying update specific socket's name in database following command:

device.update({deviceid: newdata.deviceid, "socket.number": newdata.number}, {$set: {"socket.$.name": newdata.name}}) 

newdata object extracted socket array in received data.

i want update first socket's name. or if possible, want update every socket's name received socket array.

but not seem working, no error. can pin point i'm doing wrong?


Comments

Popular posts from this blog

html - Difficulties with background-image property -

visual studio code - What does the isShellCommand property actually do and how should you use it? -

ios - Segue not passing data between ViewControllers -