Es scheint, dass Sie ein paar ungewöhnliche Dinge tun:
- Verwenden Sie
findOnestattfindwenn Sie nur einen Benutzer laden möchten - Aufruf von
Model.updatesollte getan werden, um Datensätze zu aktualisieren, die Sie nicht geladen haben $incfügt oldPoints hinzu, also ist der neue Wert 2*oldPoints + newPoints- Sie verwenden
nameals bedingte Abfrage anstelle vonUsername
Ich würde den Code so umschreiben:
User.findOne({Username: name}, function(err, user){
if (err) { return next(err); }
user.Points += points;
user.save(function(err) {
if (err) { return next(err); }
});
});