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

El documento de actualización de Mongoose falla con findByIdAndUpdate

findByIdAndUpdate es un método estático:

var landmarkModel = mongoose.model('landmark', landmarkSchema, 'landmarks');
var lm = req.body;

delete lm._id;

landmarkModel.findByIdAndUpdate(req.body._id, lm, console.log);

Tenga en cuenta que landmarkModel acepta js simple objetos.

Si ya tienes una mongoose objeto entonces es mejor usar save en cambio:

var landmarkModel = mongoose.model('landmark', landmarkSchema, 'landmarks');

landmarkModel.findById(req.body._id, function (err, lm) {
  if (err) return next(err);

  //adding data to schema here, like: lm.name = req.body.name;

  lm.save(console.log);
});