sql >> Database >  >> NoSQL >> MongoDB

Hoe update/upsert ik een document in Mongoose?

Mongoose ondersteunt dit nu native met findOneAndUpdate (roept MongoDB findAndModify aan).

De optie upsert =true maakt het object aan als het niet bestaat. standaard ingesteld op 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.');
});

In oudere versies ondersteunt Mongoose deze haken niet met deze methode:

  • standaardinstellingen
  • zetters
  • validateurs
  • middleware


  1. MongoDB Node gevonden hoe om te gaan met geen resultaten?

  2. Beknopte referentiegids voor verschillende NoSQL-databases

  3. MongoDB:Server heeft opstartwaarschuwingen

  4. MongoDB $ radialenToDegrees