MongoDB में ऐरे के एक्सैक्ट मैच से डॉक्यूमेंट्स खोजना
MongoDB में उन डॉक्यूमेंट्स को खोजने के लिए जहां ऐरे में केवल एक विशिष्ट वैल्यू हो (और कोई अन्य नहीं), आप ऐरे के एक्सैक्ट मैच का उपयोग कर सकते हैं।
उदाहरण: कलेक्शन और डॉक्यूमेंट्स बनाना
> db.arrayContainOnlySpecificFieldDemo.insertOne(
... {
... "StudentName":"John",
... "StudentAge":21,
... "StudentTechnicalSubject":["C","Java","MongoDB"]
... }
... );
{ "acknowledged" : true, "insertedId" : ObjectId("5cc4921dac184d684e3fa26a") }
> db.arrayContainOnlySpecificFieldDemo.insertOne(
... { "StudentName":"Carol", "StudentAge":23, "StudentTechnicalSubject":["MongoDB"] }
... );
{ "acknowledged" : true, "insertedId" : ObjectId("5cc49237ac184d684e3fa26b") }
सभी डॉक्यूमेंट्स देखना
> db.arrayContainOnlySpecificFieldDemo.find().pretty();
आउटपुट:
{ "_id" : ObjectId("5cc4921dac184d684e3fa26a"), "StudentName" : "John", "StudentAge" : 21, "StudentTechnicalSubject" : [ "C", "Java", "MongoDB" ] }
{ "_id" : ObjectId("5cc49237ac184d684e3fa26b"), "StudentName" : "Carol", "StudentAge" : 23, "StudentTechnicalSubject" : [ "MongoDB" ] }
केवल "MongoDB" वाले ऐरे के डॉक्यूमेंट्स खोजना
> db.arrayContainOnlySpecificFieldDemo.find({"StudentTechnicalSubject":["MongoDB"]}).pretty();
आउटपुट:
{ "_id" : ObjectId("5cc49237ac184d684e3fa26b"), "StudentName" : "Carol", "StudentAge" : 23, "StudentTechnicalSubject" : [ "MongoDB" ] }
महत्वपूर्ण: यह क्वेरी एक्सैक्ट ऐरे मैच करती है - ऐरे में केवल "MongoDB" होना चाहिए, न कोई अतिरिक्त एलिमेंट, न अलग क्रम।
संबंधित क्वेरीज:
{ "StudentTechnicalSubject": "MongoDB" }- ऐरे में "MongoDB" हो (अन्य एलिमेंट्स भी हो सकते हैं){ "StudentTechnicalSubject": { $all: ["MongoDB"] } }- ऐरे में "MongoDB" हो (कम से कम){ "StudentTechnicalSubject": { $size: 1, $in: ["MongoDB"] } }- ऐरे का साइज 1 हो और उसमें "MongoDB" हो