MongoDB में $and क्वेरी और प्रोजेक्शन से केवल एक फ़ील्ड चुनें
$and ऑपरेटर से एकाधिक कंडीशन मिलाकर क्वेरी करें, और प्रोजेक्शन में केवल वांछित फ़ील्ड शामिल करें।
कलेक्शन बनाएं और डॉक्यूमेंट इन्सर्ट करें
> db.selectingASingleFieldDemo.insertOne({"StudentFirstName":"John","StudentAge":23,"StudentCountryName":"US"});
{ "acknowledged": true, "insertedId": ObjectId("5cd547142cba06f46efe9f02") }
> db.selectingASingleFieldDemo.insertOne({"StudentFirstName":"Carol","StudentAge":21,"StudentCountryName":"UK"});
{ "acknowledged": true, "insertedId": ObjectId("5cd5471f2cba06f46efe9f03") }
> db.selectingASingleFieldDemo.insertOne({"StudentFirstName":"David","StudentAge":24,"StudentCountryName":"AUS"});
{ "acknowledged": true, "insertedId": ObjectId("5cd5472c2cba06f46efe9f04") }
> db.selectingASingleFieldDemo.insertOne({"StudentFirstName":"Robert","StudentAge":26,"StudentCountryName":"AUS"});
{ "acknowledged": true, "insertedId": ObjectId("5cd548382cba06f46efe9f05") }
सभी डॉक्यूमेंट देखें
> db.selectingASingleFieldDemo.find().pretty();
{ "_id": ObjectId("5cd547142cba06f46efe9f02"), "StudentFirstName": "John", "StudentAge": 23, "StudentCountryName": "US" }
{ "_id": ObjectId("5cd5471f2cba06f46efe9f03"), "StudentFirstName": "Carol", "StudentAge": 21, "StudentCountryName": "UK" }
{ "_id": ObjectId("5cd5472c2cba06f46efe9f04"), "StudentFirstName": "David", "StudentAge": 24, "StudentCountryName": "AUS" }
{ "_id": ObjectId("5cd548382cba06f46efe9f05"), "StudentFirstName": "Robert", "StudentAge": 26, "StudentCountryName": "AUS" }
$and क्वेरी और प्रोजेक्शन: उम्र > 21 AND देश = AUS, केवल नाम लौटाएं
> db.selectingASingleFieldDemo.find(
{$and: [
{StudentAge: {$gt: 21}},
{"StudentCountryName": "AUS"}
]},
{StudentFirstName: 1, _id: 0}
);
{ "StudentFirstName": "David" }
{ "StudentFirstName": "Robert" }
व्याख्या
$and: [{StudentAge: {$gt: 21}}, {StudentCountryName: "AUS"}]- दोनों शर्तें पूरी हों{StudentFirstName: 1, _id: 0}- केवल StudentFirstName शामिल करें, _id बाहर करें- David (24, AUS) और Robert (26, AUS) मैच करते हैं
- John (23, US) - देश मैच नहीं
- Carol (21, UK) - उम्र > 21 नहीं, देश मैच नहीं
सरल सिंटैक्स (कॉमा सेपरेटेड = AND)
db.selectingASingleFieldDemo.find(
{StudentAge: {$gt: 21}, StudentCountryName: "AUS"},
{StudentFirstName: 1, _id: 0}
)
उपरोक्त समान परिणाम देता है। $and तब जरूरी जब एक ही फ़ील्ड पर कई कंडीशन हों।