sql >> Database >  >> NoSQL >> MongoDB

mangoest die een veld in een MongoDB bijwerkt, werkt niet

Het lijkt erop dat je een paar niet-standaard dingen doet:

  • Gebruik findOne in plaats van find als u slechts één gebruiker wilt laden
  • Bellen Model.update moet worden gedaan om records bij te werken die u niet hebt geladen
  • $inc voegt oldPoints toe, dus de nieuwe waarde is 2*oldPoints + newPoints
  • U gebruikt name als de voorwaardelijke zoekopdracht in plaats van Username

Ik zou de code herschrijven in zoiets als dit:

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


  1. mongoïde hash-veldwaarden instellen

  2. Groeperen op datum met lokale tijdzone in MongoDB

  3. phpredis op fedora 12

  4. Hoe kan ik Mongo automatisch opnieuw verbinden op de node.js-server?