यह एक दिलचस्प सवाल है।
यह अधिकांश ईसीएमएस्क्रिप्ट कार्यान्वयन के रूप में काम करता है वास्तव में करता है कुंजी क्रम को संरक्षित करें (जैसे V8 जो Node द्वारा उपयोग किया जाता है)। हालांकि, आधिकारिक नोड MongoDB ड्राइवर इसके उपयोग को प्रोत्साहित नहीं करता, इसके बजाय यह दो अलग-अलग संकेतन प्रदान करता है:
मोंगोज़ दस्तावेज़ीकरण कुंजी आदेश के संबंध में कुछ भी उल्लेख नहीं करता है (कम से कम मुझे पता नहीं है)। लेकिन यह सॉर्टिंग के दो अलग-अलग तरीके भी ऑफ़र करता है :
वास्तव में ऐसा लगता है कि नेवला प्रकार की कार्यक्षमता गलत (लेकिन वर्तमान में मान्य) धारणा पर आधारित थी। यह शायद सबसे अच्छा है यदि आप एकाधिक कुंजियों के साथ सॉर्ट करते समय स्ट्रिंग नोटेशन का उपयोग करते हैं। ऑब्जेक्ट नोटेशन के साथ सॉर्ट करना सीधे मोंगोडीबी का उपयोग करते समय ठीक से काम करता है (उदाहरण के लिए मोंगोडीबी खोल में) क्योंकि यह शुद्ध JSON का उपयोग नहीं करता है लेकिन विस्तारित JSON ।
यह बहुत ही संबंधित प्रश्न भी देखें:आप node.js में MongoDB अनुक्रमणिका के लिए जावास्क्रिप्ट ऑब्जेक्ट में गुणों का क्रम कैसे निर्दिष्ट कर सकते हैं?
एक नेवला समस्या भी है इसके बारे में:
इसलिए मोंगोज़ का उपयोग करते समय, या तो स्ट्रिंग नोटेशन का उपयोग करें या ES2015 मानचित्र जो प्रविष्टि आदेश द्वारा आदेशित होने की गारंटी है।