Có vẻ như bạn đang làm một số việc không chuẩn:
- Sử dụng
findOnethay vìfindnếu bạn chỉ muốn tải một người dùng - Đang gọi
Model.updatenên được thực hiện để cập nhật các bản ghi mà bạn chưa tải -
$incđang thêm oldPoints, vì vậy giá trị mới sẽ là 2 * oldPoints + newPoints - Bạn đang sử dụng
namedưới dạng truy vấn có điều kiện thay vìUsername
Tôi sẽ viết lại mã thành một cái gì đó như thế này:
User.findOne({Username: name}, function(err, user){
if (err) { return next(err); }
user.Points += points;
user.save(function(err) {
if (err) { return next(err); }
});
});