MongoDB में $all ऑपरेटर से ऐरे पर AND क्वेरी करना
MongoDB में ऐरे फील्ड पर AND लॉजिक (सभी निर्दिष्ट वैल्यूज मौजूद हों) के लिए $all ऑपरेटर का उपयोग करें।
उदाहरण: कलेक्शन और डॉक्यूमेंट्स बनाना
> db.andQueryDemo.insertOne({"StudentName":"Carol Taylor","FavouriteSubject":["C","Java","MongoDB","MySQL"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5cc73e7a8f9e6ff3eb0ce433") }
> db.andQueryDemo.insertOne({"StudentName":"David Miller","FavouriteSubject":["C++","Java","MongoDB","SQL Server"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5cc73ea48f9e6ff3eb0ce434") }
> db.andQueryDemo.insertOne({"StudentName":"Carol Taylor","FavouriteSubject":["Python","PL/SQL"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5cc73ed38f9e6ff3eb0ce435") }
सभी डॉक्यूमेंट्स देखना
> db.andQueryDemo.find().pretty();
आउटपुट:
{ "_id" : ObjectId("5cc73e7a8f9e6ff3eb0ce433"), "StudentName" : "Carol Taylor", "FavouriteSubject" : [ "C", "Java", "MongoDB", "MySQL" ] }
{ "_id" : ObjectId("5cc73ea48f9e6ff3eb0ce434"), "StudentName" : "David Miller", "FavouriteSubject" : [ "C++", "Java", "MongoDB", "SQL Server" ] }
{ "_id" : ObjectId("5cc73ed38f9e6ff3eb0ce435"), "StudentName" : "Carol Taylor", "FavouriteSubject" : [ "Python", "PL/SQL" ] }
"Java" AND "MongoDB" दोनों वाले डॉक्यूमेंट्स खोजना
> db.andQueryDemo.find({FavouriteSubject:{$all:["Java","MongoDB"]}}).pretty();
आउटपुट:
{ "_id" : ObjectId("5cc73e7a8f9e6ff3eb0ce433"), "StudentName" : "Carol Taylor", "FavouriteSubject" : [ "C", "Java", "MongoDB", "MySQL" ] }
{ "_id" : ObjectId("5cc73ea48f9e6ff3eb0ce434"), "StudentName" : "David Miller", "FavouriteSubject" : [ "C++", "Java", "MongoDB", "SQL Server" ] }
मुख्य बिंदु:
$allऐरे में सभी निर्दिष्ट एलिमेंट्स की मौजूदगी जांचता है- क्रम मायने नहीं रखता
- ऐरे में अतिरिक्त एलिमेंट्स हो सकते हैं
$inके विपरीत जो किसी एक के मिलने पर मैच करता है (OR लॉजिक)
समान क्वेरी $in के साथ (OR लॉजिक):
db.andQueryDemo.find({FavouriteSubject: {$in: ["Java", "MongoDB"]}});
यह Java या MongoDB में से किसी एक वाले डॉक्यूमेंट्स लौटाएगा।