आप bson.M
. का उपयोग कर सकते हैं फ़िल्टर के लिए, यह आमतौर पर छोटे और स्पष्ट फ़िल्टर घोषणा में परिणत होता है, फ़ील्ड का क्रम कोई मायने नहीं रखता है, MongoDB सर्वर उपयोग किए गए ऑर्डर की परवाह किए बिना मिलान सूचकांकों को खोजने के लिए पर्याप्त स्मार्ट है। उदा. यदि आपके पास A
. फ़ील्ड के साथ एक मिश्रित अनुक्रमणिका है और B
, एक bson.D
. का उपयोग करके फ़िल्टर सूची B
पहले फिर A
सर्वर को मौजूदा अनुक्रमणिका का उपयोग करने से नहीं रोकेगा। तो इस मामले में आप bson.M
. का उपयोग कर सकते हैं और bson.D
, इससे कोई फर्क नहीं पड़ता।
जब आप उदाहरण के लिए सॉर्ट फ़ील्ड निर्दिष्ट करते हैं तो ऑर्डर मायने रखता है। इससे कोई फर्क नहीं पड़ता कि आप A
field फ़ील्ड के आधार पर छाँटते हैं फिर फ़ील्ड द्वारा B
, यह B
. के आधार पर छांटने से बिल्कुल अलग क्रम हो सकता है पहले और फिर A
. द्वारा . इसलिए जब आप एक से अधिक फ़ील्ड वाले सॉर्ट दस्तावेज़ निर्दिष्ट करते हैं, तो आपको निश्चित रूप से bson.D
. का उपयोग करना चाहिए ।
आदेश भी महत्वपूर्ण हो सकता है (आप . के लिए ) जब आप उदाहरण के लिए एक नया दस्तावेज़ सम्मिलित करते हैं। अगर आप bson.M
. का इस्तेमाल करते हैं दस्तावेज़ के रूप में, आपके सभी दस्तावेज़ों में फ़ील्ड का क्रम समान होने की गारंटी नहीं है। जब आप bson.D
. का उपयोग करते हैं , तो सहेजे गए दस्तावेज़ में क्रम उस क्रम से मेल खाएगा जब आप bson.D
में फ़ील्ड सूचीबद्ध करते हैं ।