MongoDB में फील्ड की उपस्थिति की जांच करना
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") }
find() मेथड से सभी दस्तावेज़ प्रदर्शित करना
> db.findAllDocumentWhichHaveFieldDemo.find().pretty();
यह निम्नलिखित आउटपुट देगा:
फील्ड की उपस्थिति की जांच करने का क्वेरी (मान की परवाह किए बिना)
> db.findAllDocumentWhichHaveFieldDemo.find({StudentAge:{$exists:true}});यह निम्नलिखित आउटपुट देगा (सभी 4 दस्तावेज़ क्योंकि सभी में StudentAge फील्ड है):
परिणाम में "StudentName" फील्ड नहीं चाहते
>db.findAllDocumentWhichHaveFieldDemo.find({},{StudentName:0},{StudentAge:{$exists:true}});यह निम्नलिखित आउटपुट देगा (केवल StudentAge फील्ड):