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

मैं जावा ड्राइवर का उपयोग करके मोंगोडीबी के लिए $ या क्वेरी कैसे बना सकता हूं?

आप सही हैं कि एक क्वेरी में एकाधिक फ़ील्ड निर्दिष्ट करने के लिए "डिफ़ॉल्ट" यह है कि प्रत्येक फ़ील्ड एक सशर्त फ़िल्टर के रूप में कार्य करता है, और इस प्रकार एक AND ऑपरेशन है।

आप $ या ऑपरेंड का उपयोग करके MongoDB प्रश्नों को OR क्लॉज के साथ निष्पादित कर सकते हैं जिसमें निम्नलिखित सिंटैक्स है:

db.col.find({$or:[clause1, clause2]})

जहां प्रत्येक खंड एक प्रश्न हो सकता है। $या एक शीर्ष स्तर का ऑपरेंड होना जरूरी नहीं है, लेकिन अगर यह MongoDB है तो प्रत्येक अलग क्लॉज के लिए एक इंडेक्स का उपयोग कर सकता है।

अपने उदाहरण में आप इस प्रश्न को समाप्त करना चाहते हैं:

db.col.find({$or:[{"post_title", regex}, {"post_description", regex}]});  

जिसे जावा में :

. के माध्यम से बनाया जा सकता है
DBObject clause1 = new BasicDBObject("post_title", regex);  
DBObject clause2 = new BasicDBObject("post_description", regex);    
BasicDBList or = new BasicDBList();
or.add(clause1);
or.add(clause2);
DBObject query = new BasicDBObject("$or", or);


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. स्प्रिंग मोंगो टेम्पलेट। भू क्वेरी में क्रमित काम नहीं कर रहा है (नियरक्वेरी)

  2. MongoDB से कनेक्ट करने के लिए स्प्रिंग का उपयोग कैसे करें जिसके लिए प्रमाणीकरण की आवश्यकता है

  3. MongoDB डालने के प्रदर्शन में सुधार कैसे करें

  4. प्रतिकृति के साथ नेवला एटलस पर सेट करें

  5. नेवला अद्यतन दस्तावेज़ FindByIdAndUpdate के साथ विफल