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

मैं मोंगोडब पर केस-असंवेदनशील प्रश्न कैसे बना सकता हूं?

क्रिस फुलस्टो का समाधान काम करेगा (+1), हालांकि, यह कुशल नहीं हो सकता है, खासकर यदि आपका संग्रह बहुत बड़ा है। गैर-रूट रेगुलर एक्सप्रेशन (वे जो ^ . से प्रारंभ नहीं होते हैं , जो स्ट्रिंग की शुरुआत में रेगुलर एक्सप्रेशन को एंकर करता है), और वे जो i . का उपयोग करते हैं केस असंवेदनशीलता के लिए ध्वज अनुक्रमणिका का उपयोग नहीं करेगा, भले ही वे मौजूद हों।

एक वैकल्पिक विकल्प जिस पर आप विचार कर सकते हैं, वह है name के लोअर-केस संस्करण को स्टोर करने के लिए अपने डेटा को असामान्य बनाना फ़ील्ड, उदाहरण के लिए name_lower . के रूप में . फिर आप केस-असंवेदनशील सटीक मिलान जैसे:

db.collection.find({"name_lower": thename.toLowerCase()})

या उपसर्ग मिलान (एक रूटेड रेगुलर एक्सप्रेशन) के रूप में:

db.collection.find( {"name_lower":
    { $regex: new RegExp("^" + thename.toLowerCase(), "i") } }
);

ये दोनों क्वेरी name_lower . पर एक इंडेक्स का इस्तेमाल करेंगी ।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Node.js में वादों के साथ MongoDB का उपयोग कैसे करें?

  2. Model.find().toArray() .toArray() विधि नहीं होने का दावा करते हुए

  3. MongoDB एकत्रीकरण फ्रेमवर्क - गतिशील क्षेत्र का नाम बदलें

  4. स्प्रिंग डेटा मोंगो - एम्बेडेड दस्तावेज़ में अद्वितीय संयोजन फ़ील्ड लागू करें

  5. मैं नेवला में किसी ऑब्जेक्ट को सहेजने के बाद ऑब्जेक्ट आईडी कैसे प्राप्त करूं?