Wednesday 24 May 2017

how update element array in mongodb with mongoose

I have a document structure like this

 username : String,
    notification:{
       id:String,username:String,desc:String,created: Date,status:Boolean,flag:String
    },

sample data

"notification" : [
                {
                        "status" : true,
                        "created" : ISODate("2017-05-24T06:41:55.735Z"),
                        "desc" : "kamu baru saja mendapatkan pesan dari GILANG",
                      
                        "username" : "GILANG",
                        "id" : "141ee270-404c-11e7-a6a0-fb6a792329ad"
                },

Inside robomongo i use this query successfully

db.getCollection('members').update( {'notification.id':'141ee270-404c-11e7-a6a0-fb6a792329ad'},
        { $set:{'notification.$.status':false} }

)

Then i use mongoose the query did not work

 member.update({'notification.id':id},
    {'$set':
        {
          'notification.$.status':false

        }
    }, (err,data) => {
      if(err) {
        console.log(err);
         callback({"message":err,"status":"error","statuscode":"400"})
      } else {
        console.log(`success delete notification${id}`);
          callback({"message":data,"status":"success","statuscode":"200"});
      }

    });

in my package.json like this

"dependencies": {
"body-parser": "~1.17.1",
"cookie-parser": "~1.4.3",
"debug": "~2.6.3",
"ejs": "~2.5.6",
"express": "~4.15.2",
"mongoose": "^4.9.9",



via hatajie

No comments:

Post a Comment