sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Cómo puedo actualizar un subdocumento Mongoose en un método de instancia?

Si los data propiedad es un subdocumento que puede usar fácilmente populate y actualizarlo:

Region.findOne({ _id: regionId })
  .populate('data')
  .exec(function (err, region) {
    // ...

    var data = region.data, // data container
        dataItem = data[0];

    dataItem.property = 'some value';
    dataItem.save(function (err, item) {
      //...
    });

    // or
    dataItem.update({ $set: { property: 'some value' }}, function (err, item) {
      // ...
    });

  });