आपका समझाएं()
आउटपुट सुझाव देते हैं कि:
-
10962 ऑब्जेक्ट हैं जिनमें
key.a:456213154
. है . आपकाdb.Collection.find({"key.a":456213154})
क्वेरी नेkey.a
. पर अनुक्रमणिका का उपयोग किया , और 10962 ऑब्जेक्ट लौटाए। -
आपके संग्रह में 0 ऑब्जेक्ट हैं जिनमें
key.a :456213154
. है औरkey.b :{$exists :true}
. है .db.collection.find({"key":{"a":456213154, "b":{"$exists":true}}})
क्वेरी ने कुंजी पर आपकी अनुक्रमणिका का उपयोग किया था।
देखें एन
प्रत्येक क्वेरी के लिए मान - यह लौटाई गई संख्या है; और कर्सर
मान - यह है BtreeCursor
यदि एक सूचकांक का उपयोग किया जाता है। इस मामले में यह समझ में आता है कि पहली क्वेरी में अधिक समय क्यों लगता है, क्योंकि इसमें लौटने के लिए काफी अधिक ऑब्जेक्ट हैं।
क्या आप सुनिश्चित हैं कि key.a :456213154
. वाले दस्तावेज़ मानों में key.b
भी होता है मान?
संपादित करें:
$मौजूद है
. के साथ क्वेरी परम एम्बेडेड दस्तावेज़ों में अस्तित्व की जाँच के लिए गलत सिंटैक्स है।
कोशिश करें ।