Thursday, 25 May 2017

Update nested objects in Mongoose

Update nested objects in Mongoose. My database looks like:

{ 
    "_id" : ObjectId("59269621026c1e263c3d99d8"), 
    "A" : [
        {
            "AName" : "abcd", 
            "_id" : ObjectId("59255e24fc85cf2c0410e1e3"), 
            "B" : [
                {
                    "BName" : "Test1", 
                    "date" : "2017-05-29T18:30:00.000Z", 
                    "_id" : "591e953982c0423238721b45"
                }, 
                {
                    "BName" : "Test2", 
                    "date" : "2017-05-29T18:30:00.000Z", 
                    "_id" : "591e953982c0423238721b46"
                }
            ]
        }
    ]
}

I am trying to update data in B object with the code:

var ID = req.body.ID || req.headers.ID
  var updateData = {
    "A.B.BName" : req.body.BName|| req.headers.BName,
    "A.B.date" : req.body.date || req.headers.date,
  }

  var query = {
      _id: ID
    }
    console.log(updateData); //Results complete data
    projects.findOneAndUpdate(query, updateData, {
      "new": true
    }, function (err, value) {
      if (err) res.json(err)
      res.json(value)
    })

Data does not update. Please help me to update data with mongoose.



via Bulla

No comments:

Post a Comment