MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come si aggiorna/aggiorna un documento in Mongoose?

Mongoose ora lo supporta in modo nativo con findOneAndUpdate (chiama MongoDB findAndModify).

L'opzione upsert =true crea l'oggetto se non esiste. predefinito su false .

var query = {'username': req.user.username};
req.newData.username = req.user.username;

MyModel.findOneAndUpdate(query, req.newData, {upsert: true}, function(err, doc) {
    if (err) return res.send(500, {error: err});
    return res.send('Succesfully saved.');
});

Nelle versioni precedenti Mongoose non supporta questi hook con questo metodo:

  • predefiniti
  • incastonatori
  • validatori
  • middleware