MongoDB में $and और $or को संयोजित करना
जटिल क्वेरी लॉजिक के लिए $and और $or ऑपरेटर्स को संयोजित करें।
कलेक्शन बनाना
> db.demo293.insertOne({FirstName:"Chris",LastName:"Brown",Age:24});
{ "acknowledged": true, "insertedId": ObjectId("5e4d45075d93261e4bc9ea32") }
> db.demo293.insertOne({FirstName:"David",LastName:"Miller",Age:23});
{ "acknowledged": true, "insertedId": ObjectId("5e4d45265d93261e4bc9ea33") }
> db.demo293.insertOne({FirstName:"John",LastName:"Smith",Age:24});
{ "acknowledged": true, "insertedId": ObjectId("5e4d45385d93261e4bc9ea34") }
> db.demo293.insertOne({FirstName:"Adam",LastName:"Doe",Age:21});
{ "acknowledged": true, "insertedId": ObjectId("5e4d46cf5d93261e4bc9ea35") }
सभी डॉक्यूमेंट्स
> db.demo293.find();
$and और $or संयोजित क्वेरी
> db.demo293.find( { $and: [ { $or: [ {"FirstName": "John"}, {"LastName": "Brown"} ] }, { Age: 24 } ] } )परिणाम
व्याख्या
- $and: सभी शर्तें पूरी होनी चाहिए
- $or: कम से कम एक शर्त पूरी होनी चाहिए
- लॉजिक: (FirstName="John" OR LastName="Brown") AND Age=24
- Chris: LastName="Brown" AND Age=24 → ✓
- John: FirstName="John" AND Age=24 → ✓
- David: Age=23 → ✗
- Adam: Age=21 → ✗
निहित AND
कॉमा-सेपरेटेड फील्ड्स निहित $and हैं:
स्पष्ट $and की आवश्यकता तब होती है जब एक ही फील्ड पर एकाधिक शर्तें लागू करनी हों या $or के साथ संयोजित करना हो।