Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MongoDB

MongoDB में सटीक मिलान के लिए क्वेरी

MongoDB में सटीक मिलान (Exact Match) क्वेरी

MongoDB में किसी मान का सटीक मिलान करने के लिए, आप $exists ऑपरेटर का उपयोग कर सकते हैं जो किसी फ़ील्ड की उपस्थिति या अनुपस्थिति की जांच करता है। आइए एक संग्रह (collection) बनाते हैं और दस्तावेज़ (documents) डालते हैं:

नमूना डेटा बनाना

> db.demo290.insertOne({"ListOfName":"Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e4c0c9e5d93261e4bc9ea2d") }
> db.demo290.insertOne({"ListOfName":["Chris","David"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e4c0cb05d93261e4bc9ea2e") }

सभी दस्तावेज़ प्रदर्शित करना

> db.demo290.find();

आउटपुट:

{ "_id" : ObjectId("5e4c0c9e5d93261e4bc9ea2d"), "ListOfName" : "Chris" }
{ "_id" : ObjectId("5e4c0cb05d93261e4bc9ea2e"), "ListOfName" : [ "Chris", "David" ] }

सटीक मिलान के लिए क्वेरी

यहां हम $and ऑपरेटर का उपयोग करके दो शर्तें लागू कर रहे हैं: पहला, ListOfName.0 मौजूद नहीं होना चाहिए (यानी यह एक सरणी नहीं है), और दूसरा, ListOfName का मान "Chris" होना चाहिए।

> db.demo290.find({$and: [{'ListOfName.0': {$exists: false}}, {"ListOfName": 'Chris'}]});

आउटपुट:

{ "_id" : ObjectId("5e4c0c9e5d93261e4bc9ea2d"), "ListOfName" : "Chris" }

व्याख्या

  • {'ListOfName.0': {$exists: false}} - यह सुनिश्चित करता है कि ListOfName एक सरणी नहीं है (क्योंकि सरणी में पहला तत्व इंडेक्स 0 पर होता है)।
  • {"ListOfName": 'Chris'} - यह मान "Chris" से मेल खाता है।
  • $and - दोनों शर्तों को जोड़ता है।

यह क्वेरी केवल वही दस्तावेज़ लौटाती है जहां ListOfName एक स्ट्रिंग "Chris" है, न कि सरणी जिसमें "Chris" शामिल हो।

  1. - MongoDB में एकाधिक डॉक्यूमेंट फील्ड्स पर सटीक मिलान क्वेरी

    MongoDB में $in और $and का उपयोग करके एकाधिक फील्ड्स पर सटीक मिलान करना MongoDB में एकाधिक फील्ड्स पर सटीक मान मिलान के लिए $and के साथ $in ऑपरेटर का संयोजन उपयोग करें। यह प्रत्येक फील्ड के लिए मानों के सेट में से किसी एक से मेल खाता है। उदाहरण: संग्रह और दस्तावेज़ बनाना > db.demo422.insertOne({

  1. - MongoDB में सरणी में $in लागू करने की क्वेरी

    आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo520.insertOne({ListOfName:[John,Bob]}); { acknowledged : true, insertedId : ObjectId(5e899fb4b3fbf26334ef6114) } > db.demo520.insertOne({ListOfName:[Chris,David]}); { acknowledged : true, insertedId : ObjectId(5e899fbfb3fbf26334ef6115) } > db

  1. - MongoDB find() क्वेरी: नेस्टेड दस्तावेज के लिए

    नेस्टेड दस्तावेज से मान प्राप्त करने के लिए, डॉट नोटेशन का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo591.insert([ { Name: John, Age: 23 }, { Name: Carol, Age: 26 }, { Name: Robert, Age: 29, details: [ { Email: Robert@gmail.com, CountryName: