MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wie aktualisiere/ergänze ich ein Dokument in Mongoose?

Mongoose unterstützt dies jetzt nativ mit findOneAndUpdate (ruft MongoDB findAndModify auf).

Die Option upsert =true erstellt das Objekt, wenn es nicht existiert. standardmäßig falsch .

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.');
});

In älteren Versionen unterstützt Mongoose diese Hooks nicht mit dieser Methode:

  • Standards
  • Setzer
  • Validatoren
  • Middleware