sql >> Base de Datos >  >> NoSQL >> MongoDB

mongoose actualizando un campo en un MongoDB que no funciona

Parece que estás haciendo algunas cosas poco habituales:

  • Utilice findOne en lugar de find si desea cargar solo un usuario
  • Llamar a Model.update se debe hacer para actualizar los registros que no ha cargado
  • $inc está agregando oldPoints, por lo que el nuevo valor será 2*oldPoints + newPoints
  • Estás usando name como consulta condicional en lugar de Username

Reescribiría el código en algo como esto:

User.findOne({Username: name}, function(err, user){
  if (err) { return next(err); }
  user.Points += points;
  user.save(function(err) {
    if (err) { return next(err); }
  });
});