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

Java का उपयोग करके MongoDB में वाइल्डकार्ड खोज कैसे करें

आप रेगुलर एक्सप्रेशन कर सकते हैं Mongo में फ़ील्ड पर मिलान करें, यहां बताया गया है कि आप अपने पहले पैटर्न को कैसे करेंगे:

Pattern p = Pattern.compile("Mon.*DB", CASE_INSENSITIVE);
BasicDBObject query = new BasicDBObject("name", p);

// finds all records with "name" matching /Mon.*DB/i
DBCursor cursor = collection.find(query);

सावधान रहें, हालांकि, कई नियमित अभिव्यक्ति मिलानों के लिए पूर्ण तालिका स्कैन की आवश्यकता होती है। इसका मतलब यह है कि यदि आप उन्हें एक बड़े संग्रह के खिलाफ चलाते हैं, तो इंजन को सभी दस्तावेजों (शायद डिस्क को मारना) पर फिर से चलना होगा और प्रत्येक को एक मैच के लिए व्यक्तिगत रूप से जांचना होगा। यह अनुक्रमणिका का उपयोग करने वाली क्वेरी की तुलना में बहुत धीमी है।

केवल रेगुलर एक्सप्रेशन जो किसी अनुक्रमणिका को प्रभावित करते हैं, वे केस संवेदी उपसर्ग मिलान हैं। आप इस तरह सभी "सोम*" को खोज सकते हैं और एक इंडेक्स का उपयोग कर सकते हैं:

Pattern p = Pattern.compile("^Mon.*");
BasicDBObject query = new BasicDBObject("name", p);

// finds all records with "name" matching /^Mon.*/
DBCursor cursor = collection.find(query);



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Object.keys, mongodb में चाबियों की सूची कैसे प्राप्त करें

  2. Mongo . में दस्तावेज़ ड्राफ़्ट करें

  3. नेवला में अद्यतन के बजाय findOneAndUpdate वेतन वृद्धि

  4. rs.initiate () को कॉल किए बिना मोंगोडब प्रतिकृति सेट को कैसे प्रारंभ करें?

  5. MongoDB होस्टिंग विकल्प अब जबकि Heroku mLab ऐड-ऑन को हटाया जा रहा है