MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment mettre à jour/upsert un document dans Mongoose ?

Mongoose le prend désormais en charge nativement avec findOneAndUpdate (appelle MongoDB findAndModify).

L'option upsert =true crée l'objet s'il n'existe pas. par défaut à faux .

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

Dans les anciennes versions, Mongoose ne prend pas en charge ces crochets avec cette méthode :

  • par défaut
  • passeurs
  • validateurs
  • intergiciel