ऐसा इसलिए है क्योंकि समूह कमांड वास्तव में नक्शा/कम करता है, और नक्शा/घटाना एक जावास्क्रिप्ट है। जावास्क्रिप्ट में डिफ़ॉल्ट संख्या प्रकार एक डबल है, इस वजह से यह दोगुना हो जाता है।
तो आप शायद अपने नंबरों को NumberLong(..)
. से लपेट सकते हैं अगर आप लॉन्ग इन ग्रुप कमांड रिजल्ट देखना चाहते हैं:
{
...
initial: { count: new NumberLong(0) },
reduce: "function (o, a) { a.count += new NumberLong(o.count); }"
}
इसका परीक्षण नहीं किया, लेकिन लगभग सुनिश्चित है कि इसे काम करना चाहिए।