Es scheint, dass Sie ein paar ungewöhnliche Dinge tun:
- Verwenden Sie
findOne
stattfind
wenn Sie nur einen Benutzer laden möchten - Aufruf von
Model.update
sollte getan werden, um Datensätze zu aktualisieren, die Sie nicht geladen haben $inc
fügt oldPoints hinzu, also ist der neue Wert 2*oldPoints + newPoints- Sie verwenden
name
als 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); }
});
});