MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

मोंगोडब क्वेरी डॉट नोटेशन के साथ धीमी है

आपका समझाएं() आउटपुट सुझाव देते हैं कि:

  1. 10962 ऑब्जेक्ट हैं जिनमें key.a:456213154 . है . आपका db.Collection.find({"key.a":456213154}) क्वेरी ने key.a . पर अनुक्रमणिका का उपयोग किया , और 10962 ऑब्जेक्ट लौटाए।

  2. आपके संग्रह में 0 ऑब्जेक्ट हैं जिनमें key.a :456213154 . है और key.b :{$exists :true} . है . db.collection.find({"key":{"a":456213154, "b":{"$exists":true}}}) क्वेरी ने कुंजी पर आपकी अनुक्रमणिका का उपयोग किया था।

देखें एन प्रत्येक क्वेरी के लिए मान - यह लौटाई गई संख्या है; और कर्सर मान - यह है BtreeCursor यदि एक सूचकांक का उपयोग किया जाता है। इस मामले में यह समझ में आता है कि पहली क्वेरी में अधिक समय क्यों लगता है, क्योंकि इसमें लौटने के लिए काफी अधिक ऑब्जेक्ट हैं।

क्या आप सुनिश्चित हैं कि key.a :456213154 . वाले दस्तावेज़ मानों में key.b भी होता है मान?

संपादित करें:

$मौजूद है . के साथ क्वेरी परम एम्बेडेड दस्तावेज़ों में अस्तित्व की जाँच के लिए गलत सिंटैक्स है।

कोशिश करें ।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongodb केवल कैसे सम्मिलित करें यदि मौजूद नहीं है (कोई अद्यतन मौजूद नहीं है)?

  2. सत्यापन वस्तु में कम से कम एक ऑपरेटर / उल्का मोंगो होना चाहिए

  3. मोंगोडब में धीमी क्वेरी अनुकरण करें?

  4. मैं एक एकत्रीकरण के लिए शीर्ष एन बाल्टी कैसे प्राप्त कर सकता हूं और अन्य सभी बाल्टी एक अन्य बाल्टी में संयुक्त हो सकता हूं?

  5. com.mongodb.client.MongoClient और com.mongodb.MongoClient के बीच अंतर