কম্পিউটার টিউটোরিয়াল

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") }

সকল ডকুমেন্ট দেখা

> db.findAllDocumentWhichHaveFieldDemo.find().pretty();

আউটপুট


StudentAge ফিল্ড থাকা ডকুমেন্ট খোঁজা

> db.findAllDocumentWhichHaveFieldDemo.find({StudentAge:{$exists:true}});

আউটপুট (সকল ৪টি - মান null/empty হলেও)


StudentName বাদ দিয়ে শুধু StudentAge দেখানো

{ "_id" : ObjectId("5c9d1d60a629b87623db1b22"), "StudentAge" : null } 
{ "_id" : ObjectId("5c9d1d70a629b87623db1b23"), "StudentAge" : null } 
{ "_id" : ObjectId("5c9d1d7ba629b87623db1b24"), "StudentAge" : "" } 
{ "_id" : ObjectId("5c9d1d81a629b87623db1b25"), "StudentAge" : "" }

গুরুত্বপূর্ণ পার্থক্য

কোয়েরিফলাফল
{field: {$exists: true}}ফিল্ড থাকা সব (null, "", 0, false সহ)
{field: {$ne: null}}null নয় এমন সব (missing field ও আসবে)
{field: {$exists: true, $ne: null}}ফিল্ড আছে এবং null নয়
  1. MongoDB-এ অগরিগেশন ব্যবহার করে ফিল্ডের নাম পরিবর্তন করা

  2. MongoDB-এ অ্যারেতে ম্যাচ করা অবজেক্টের সংখ্যা অনুযায়ী ডকুমেন্ট খোঁজা ($where / Aggregation)

  3. MongoDB-তে সব ডকুমেন্টে নতুন ফিল্ড যোগ করা ($addFields)

  4. MongoDB-এ অ্যারের ডকুমেন্ট কাউন্ট করা নির্দিষ্ট ফিল্ডের মান অনুযায়ী