Mongodb: प्रश्नों में and ($and) ऑपरेटर का उपयोग कैसे करें


आप एकाधिक मानदंडों से मेल खाने वाले दस्तावेज़ों को खोजने के लिए MongoDB में $and ऑपरेटर का उपयोग कर सकते हैं।

यह ऑपरेटर निम्नलिखित मूल सिंटैक्स का उपयोग करता है:

 db.myCollection.find({
  " $and ": [
    {" field1 ": " hello "},
    {" field2 ": { $gte : 10 }}
  ]
})

यह विशेष उदाहरण myCollection नामक संग्रह में सभी दस्तावेज़ों की खोज करता है जहां फ़ील्ड 1 “हैलो” के बराबर है और फ़ील्ड 2 का मान 10 से अधिक या उसके बराबर है।

निम्नलिखित उदाहरण दिखाते हैं कि निम्नलिखित दस्तावेजों के साथ संग्रह टीम के साथ व्यवहार में इस वाक्यविन्यास का उपयोग कैसे किया जाए:

 db.teams.insertOne({team: " Mavs ", points: 30, rebounds: 8})
db.teams.insertOne({team: " Mavs ", points: 30, rebounds: 12})
db.teams.insertOne({team: " Spurs ", points: 20, rebounds: 7})
db.teams.insertOne({team: " Spurs ", points: 25, rebounds: 5})
db.teams.insertOne({team: " Spurs ", points: 23, rebounds: 9})

उदाहरण 1: दो फ़ील्ड के साथ AND ऑपरेटर का उपयोग करें

निम्नलिखित कोड दिखाता है कि टीमों के संग्रह में सभी दस्तावेजों को कैसे खोजा जाए जहां “टीम” फ़ील्ड “स्पर्स” के बराबर है और “पॉइंट्स” फ़ील्ड का मान 22 से अधिक या उसके बराबर है:

 db.teams.find({
  " $and ": [
    {" team ": " Spurs "},
    {" points ": { $gte : 22 }}
  ]
})

यह क्वेरी निम्नलिखित दस्तावेज़ लौटाती है:

 { _id: ObjectId("6201824afd435937399d6b6c"),
  team: 'Spurs',
  points: 25,
  rebounds: 5 }
{ _id: ObjectId("6201824afd435937399d6b6d"),
  team: 'Spurs',
  points: 23,
  rebounds: 9 }

ध्यान दें कि आउटपुट में प्रत्येक दस्तावेज़ में टीम फ़ील्ड में “स्पर्स” और पॉइंट फ़ील्ड में 22 से अधिक या उसके बराबर मान होता है।

उदाहरण 2: दो से अधिक फ़ील्ड वाले AND ऑपरेटर का उपयोग करें

निम्नलिखित कोड दिखाता है कि टीमों के संग्रह में सभी दस्तावेजों को कैसे खोजा जाए, जहां फ़ील्ड “टीम” “माव्स” के बराबर नहीं है और फ़ील्ड “पॉइंट्स” में मान 22 से अधिक या उसके बराबर है और फ़ील्ड “रिबाउंड्स” में मान है »फ़ील्ड 7 से कम है:

 db.teams.find({
  " $and ": [
    {" team ": { $ne : " Mavs "}},
    {" points ": { $gte : 22 }},
    {" rebounds ": { $lt : 7 }}
  ]
})

यह क्वेरी निम्नलिखित दस्तावेज़ लौटाती है:

 { _id: ObjectId("6201824afd435937399d6b6c"),
  team: 'Spurs',
  points: 25,
  rebounds: 5 }

ध्यान दें कि संग्रह में यह एकमात्र दस्तावेज़ है जो तीनों मानदंडों को पूरा करता है:

  • “टीम” फ़ील्ड ” माव्स ” के बराबर नहीं है
  • “अंक” फ़ील्ड का मान 22 से अधिक या उसके बराबर है
  • “रिबाउंड्स” फ़ील्ड का मान 7 से कम है

नोट : आप $and फ़ंक्शन के लिए संपूर्ण दस्तावेज़ यहां पा सकते हैं।

अतिरिक्त संसाधन

निम्नलिखित ट्यूटोरियल बताते हैं कि MongoDB में अन्य सामान्य ऑपरेशन कैसे करें:

MongoDB: कैसे जांचें कि फ़ील्ड में कोई स्ट्रिंग है या नहीं
MongoDB: “NO IN” क्वेरी का उपयोग कैसे करें
MongoDB: किसी विशिष्ट फ़ील्ड में “शून्य नहीं” की खोज कैसे करें

एक टिप्पणी जोड़ने

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *