MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

mangusto atualizando um campo em um MongoDB não funcionando


Parece que você está fazendo algumas coisas fora do padrão:
  • Usar findOne em vez de find se você quiser carregar apenas um usuário
  • Chamando Model.update deve ser feito para atualizar os registros que você não carregou
  • $inc está adicionando oldPoints, então o novo valor será 2*oldPoints + newPoints
  • Você está usando name como a consulta condicional em vez de Username

Eu reescreveria o código em algo assim:
User.findOne({Username: name}, function(err, user){
  if (err) { return next(err); }
  user.Points += points;
  user.save(function(err) {
    if (err) { return next(err); }
  });
});