Il semble que vous fassiez des choses inhabituelles :
- Utilisez
findOne
au lieu defind
si vous souhaitez charger un seul utilisateur - Appeler
Model.update
doit être fait pour mettre à jour les enregistrements que vous n'avez pas chargés $inc
ajoute oldPoints, donc la nouvelle valeur sera 2*oldPoints + newPoints- Vous utilisez
name
comme requête conditionnelle au lieu deUsername
Je réécrirais le code en quelque chose comme ceci :
User.findOne({Username: name}, function(err, user){
if (err) { return next(err); }
user.Points += points;
user.save(function(err) {
if (err) { return next(err); }
});
});