Mongodb: "नॉट इन" क्वेरी का उपयोग कैसे करें


आप उन सभी दस्तावेज़ों को ढूंढने के लिए निम्नलिखित सिंटैक्स का उपयोग कर सकते हैं जहां किसी विशेष फ़ील्ड का मान मानों की एक निश्चित सूची में नहीं है:

 db.collection.find({field1: { $nin : [" value1 ", " value2 ", " value3 "]}}) 

यह विशेष क्वेरी उन सभी दस्तावेज़ों को खोजती है जिनमें फ़ील्ड 1 का मान मान 1, मान 2 या मान 3 के बराबर नहीं है।

निम्नलिखित उदाहरण दिखाते हैं कि व्यवहार में इस वाक्यविन्यास का उपयोग कैसे करें।

उदाहरण 1: मान के साथ “नॉट इन” के लिए क्वेरी

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

 db.teams.insertOne({team: " Mavs ", position: " Guard ", points: 31 })
db.teams.insertOne({team: " Spurs ", position: " Guard ", points: 22 })
db.teams.insertOne({team: " Rockets ", position: " Center ", points: 19 })
db.teams.insertOne({team: " Warriors ", position: " Forward ", points: 26 })
db.teams.insertOne({team: " Cavs ", position: " Guard ", points: 33 })

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

 db.teams.find({team: { $nin : [" Rockets "]}}) 

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

 { _id: ObjectId("619527e467d6742f66749b72"),
  team: 'Cavs',
  position: 'Guard',
  points: 33 }

{ _id: ObjectId("619527e467d6742f66749b6e"),
  team: 'Mavs',
  position: 'Guard',
  points: 31 }

{ _id: ObjectId("619527e467d6742f66749b6f"),
  team: 'Mavs',
  position: 'Guard',
  points: 22 }

ध्यान दें कि लौटाए गए एकमात्र दस्तावेज़ वे हैं जहां “टीम” फ़ील्ड “रॉकेट्स” के बराबर नहीं है।

उदाहरण 2: मानों की सूची के साथ “NON IN” के लिए क्वेरी

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

 db.teams.insertOne({team: " Mavs ", position: " Guard ", points: 31 })
db.teams.insertOne({team: " Spurs ", position: " Guard ", points: 22 })
db.teams.insertOne({team: " Rockets ", position: " Center ", points: 19 })
db.teams.insertOne({team: " Warriors ", position: " Forward ", points: 26 })
db.teams.insertOne({team: " Cavs ", position: " Guard ", points: 33 })

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

 db.teams.find({team: { $nin : [" Rockets ", " Cavs "]}}) 

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

 { _id: ObjectId("619527e467d6742f66749b6e"),
  team: 'Mavs',
  position: 'Guard',
  points: 31 }

{ _id: ObjectId("619527e467d6742f66749b6f"),
  team: 'Mavs',
  position: 'Guard',
  points: 22 }

ध्यान दें कि लौटाए गए एकमात्र दस्तावेज़ वे हैं जहां “टीम” फ़ील्ड “रॉकेट्स” या “कैव्स” के बराबर नहीं है।

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

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

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

MongoDB: “लाइक” रेगुलर एक्सप्रेशन के साथ क्वेरी कैसे करें
MongoDB: कैसे जांचें कि फ़ील्ड में कोई स्ट्रिंग है या नहीं
MongoDB: किसी संग्रह में नया फ़ील्ड कैसे जोड़ें
MongoDB: प्रत्येक दस्तावेज़ से एक फ़ील्ड कैसे हटाएं

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

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