NumberLong(253351454)
केवल उन संख्याओं के लिए काम करता है जो इतनी छोटी हैं कि उन्हें होने की आवश्यकता नहीं है ... ठीक है, लंबा:शेल को किसी भी तरह जेएस में उनका प्रतिनिधित्व करना चाहिए, इसलिए यह केवल उन संख्याओं का प्रतिनिधित्व कर सकता है जो
बड़ी संख्या के लिए, एक पाठ्य प्रस्तुति की आवश्यकता है क्योंकि कोई बड़ा पर्याप्त डेटा प्रकार उपलब्ध नहीं है, इसलिए NumberLong("3059300418")
3059300418 > 253351454
के साथ ।
दूसरे शब्दों में, नहीं, कोई अंतर नहीं है . यह केवल JS और फ्लोटिंग पॉइंट नंबरों के शेल, या अधिक सामान्य रूप से बोलने की एक सीमा है।
कैविएट:कंस्ट्रक्टर को बहुत बड़ी संख्या में बुलाने की कोशिश न करें, यानी db.foo.insert({"t" : NumberLong(1234657890132456789)});
की कोशिश न करें। चूंकि यह संख्या दुगने के लिए बहुत बड़ी है, इसलिए यह राउंडऑफ़ त्रुटियों का कारण बनेगी। उपरोक्त संख्या को NumberLong("1234657890132456704")
में बदल दिया जाएगा , जो गलत है, जाहिर है।