node.js - Mongodb Update Query Deletes All Array Fields Except Field Specified in Command -


i'm using node, mongodb, , mongoose. i've checked mongodb docs on set , update. i've googled little on hour , i've found topics dance around issue, nothing definitive though. query below updates correct field, removes other fields in array haven't specified.

db.posts.update(    { "_id" : { $exists : true }  },   { $set : { usercreated : { "time" : new isodate("2013-07-11t03:34:54z") } } },   false,   true ) 

this section of schema i'm trying modify:

}, usercreated: {   id: { type: mongoose.schema.types.objectid, ref: 'user' },   name: { type: string, default: '' },   time: { type: date, default: date.now } }, 

this comes out:

}, "usercreated": {   "time": { isodate("2013-07-11t03:34:54z") } }, 

you can update time property of usercreated , leave other properties alone using dot notation:

db.posts.update(    { "_id" : { $exists : true }  },   { $set : { "usercreated.time" : new isodate("2013-07-11t03:34:54z") } },   false,   true ) 

Comments

Popular posts from this blog

php - Calling a template part from a post -

Firefox SVG shape not printing when it has stroke -

How to mention the localhost in android -