MongoDB का उपयोग करने के लिए उन सभी दस्तावेज़ों को खोजने के लिए जिनमें फ़ील्ड है, उस फ़ील्ड के मूल्य की परवाह किए बिना, $exists ऑपरेटर का उपयोग करें। निम्नलिखित वाक्य रचना है
db.yourCollectionName.find({yourFieldName:{$exists:true}});
आइए दस्तावेजों के साथ एक संग्रह बनाएं
>db.findAllDocumentWhichHaveFieldDemo.insertOne({"StudentName":"John","StudentAge":null}); { "acknowledged" : true, "insertedId" : ObjectId("5c9d1d60a629b87623db1b22") } >db.findAllDocumentWhichHaveFieldDemo.insertOne({"StudentName":"Larry","StudentAge":null}); { "acknowledged" : true, "insertedId" : ObjectId("5c9d1d70a629b87623db1b23") } >db.findAllDocumentWhichHaveFieldDemo.insertOne({"StudentName":"Chris","StudentAge":""}); { "acknowledged" : true, "insertedId" : ObjectId("5c9d1d7ba629b87623db1b24") } >db.findAllDocumentWhichHaveFieldDemo.insertOne({"StudentName":"Robert","StudentAge":""}); { "acknowledged" : true, "insertedId" : ObjectId("5c9d1d81a629b87623db1b25") }
खोज () विधि की सहायता से संग्रह से सभी दस्तावेज़ों को प्रदर्शित करने के लिए क्वेरी निम्नलिखित है
> db.findAllDocumentWhichHaveFieldDemo.find().pretty();
यह निम्नलिखित आउटपुट उत्पन्न करेगा
{ "_id" : ObjectId("5c9d1d60a629b87623db1b22"), "StudentName" : "John", "StudentAge" : null } { "_id" : ObjectId("5c9d1d70a629b87623db1b23"), "StudentName" : "Larry", "StudentAge" : null } { "_id" : ObjectId("5c9d1d7ba629b87623db1b24"), "StudentName" : "Chris", "StudentAge" : "" } { "_id" : ObjectId("5c9d1d81a629b87623db1b25"), "StudentName" : "Robert", "StudentAge" : "" }
उस फ़ील्ड के मूल्य की परवाह किए बिना, फ़ील्ड वाले सभी दस्तावेज़ों को खोजने के लिए MongoDB का उपयोग करने के लिए क्वेरी निम्नलिखित है
> db.findAllDocumentWhichHaveFieldDemo.find({StudentAge:{$exists:true}});
यह निम्नलिखित आउटपुट उत्पन्न करेगा
{ "_id" : ObjectId("5c9d1d60a629b87623db1b22"), "StudentName" : "John", "StudentAge" : null } { "_id" : ObjectId("5c9d1d70a629b87623db1b23"), "StudentName" : "Larry", "StudentAge" : null } { "_id" : ObjectId("5c9d1d7ba629b87623db1b24"), "StudentName" : "Chris", "StudentAge" : "" } { "_id" : ObjectId("5c9d1d81a629b87623db1b25"), "StudentName" : "Robert", "StudentAge" : "" }
यदि आप परिणाम में “StudentName” फ़ील्ड नहीं चाहते हैं तो यह प्रश्न निम्नलिखित है
>db.findAllDocumentWhichHaveFieldDemo.find({},{StudentName:0},{StudentAge:{$exists:true}});
यह निम्नलिखित आउटपुट उत्पन्न करेगा
{ "_id" : ObjectId("5c9d1d60a629b87623db1b22"), "StudentAge" : null } { "_id" : ObjectId("5c9d1d70a629b87623db1b23"), "StudentAge" : null } { "_id" : ObjectId("5c9d1d7ba629b87623db1b24"), "StudentAge" : "" } { "_id" : ObjectId("5c9d1d81a629b87623db1b25"), "StudentAge" : "" }