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

मोंगो $in कंपाउंड इंडेक्स के साथ

चूंकि आप पहले से ही (a, b) . के लिए एक कंपाउंड इंडेक्स बना चुके हैं , आपके सभी क्लॉज एक्सप्रेशन इंडेक्स द्वारा समर्थित हैं -> मोंगो संग्रह स्कैन के बजाय इंडेक्स स्कैन का उपयोग करेगा। यह शायद काफी तेज है।

संदर्भ:$या क्लॉज और इंडेक्स

अब आपके प्रश्न के बारे में

$in पूरे मैदान का मिलान करें। यदि आप (a,b) . से मिलान करना चाहते हैं तो स्पष्ट रूप से (a,b) $in . के साथ खोजने के लिए एक एम्बेडेड ऑब्जेक्ट बनना चाहिए .

सुनिश्चित नहीं है कि एम्बेडेड ऑब्जेक्ट बनाना आपकी वर्तमान स्कीमा/आवश्यकता के अनुरूप है। लेकिन अगर ऐसा है, तो $in $or . की तुलना में बेहतर प्रदर्शन के लिए जाना जाता है :

इस मामले में, यदि आपके पास एम्बेडेड ऑब्जेक्ट है जैसे:{e: {a: 'x', b: 'y'}} फिर db.collections.createIndex({e: 1}) $in . के साथ युग्मित चीजों को गति देगा




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB और Golang के साथ लुकअप के संदर्भ में मान प्राप्त करें

  2. नोड मोंगो आरईएसटी सेवा पोस्ट

  3. MongoDB नेस्टेड ऑब्जेक्ट्स ढूंढ रहा है जो मानदंडों को पूरा करते हैं

  4. डेटा स्रोत को स्वतः कॉन्फ़िगर करने में विफल:'spring.datasource.url' निर्दिष्ट नहीं है

  5. 'नए' कीवर्ड के साथ या उसके बिना नेवला स्कीमा बनाना?