ऐसा लगता है कि आप कुछ अमानक चीजें कर रहे हैं:
findOne
का उपयोग करें इसके बजायfindOne
यदि आप केवल एक उपयोगकर्ता को लोड करना चाहते हैं- कॉलिंग
Model.update
उन रिकॉर्ड्स को अपडेट करने के लिए किया जाना चाहिए जिन्हें आपने लोड नहीं किया है $inc
पुराने पॉइंट जोड़ रहा है, इसलिए नया मान 2*oldPoints + newPoints
. होगा - आप
name
का उपयोग कर रहे हैंUsername
. के बजाय सशर्त क्वेरी के रूप में
मैं कोड को कुछ इस तरह फिर से लिखूंगा:
User.findOne({Username: name}, function(err, user){
if (err) { return next(err); }
user.Points += points;
user.save(function(err) {
if (err) { return next(err); }
});
});