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

MongoDB-এ নির্দিষ্ট ফিল্ড থাকা ডকুমেন্ট কিভাবে খুঁজে বের করবেন?

MongoDB-এ নেস্টেড অবজেক্ট বা ডকুমেন্টে নির্দিষ্ট ফিল্ড উপস্থিত আছে কিনা তা যাচাই করতে $exists অপারেটর সহ ডট নোটেশন ব্যবহার করুন।

উদাহরণ

বিভিন্ন স্ট্রাকচারের নেস্টেড অবজেক্ট সহ ডকুমেন্ট তৈরি করুন:

> db.findDocumentContainsSpecificFieldDemo.insertOne({"ProductPrices": {"Product1": 10, "Product2": 50}});
{ "acknowledged" : true, "insertedId" : ObjectId("5cf2385bb64a577be5a2bc14") }

> db.findDocumentContainsSpecificFieldDemo.insertOne({"ProductPrices": {"Product3": 150, "Product7": 100, "Product5": 250}});
{ "acknowledged" : true, "insertedId" : ObjectId("5cf2387eb64a577be5a2bc15") }

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

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

আউটপুট:

{ "_id" : ObjectId("5cf2385bb64a577be5a2bc14"), "ProductPrices" : { "Product1" : 10, "Product2" : 50 } }
{ "_id" : ObjectId("5cf2387eb64a577be5a2bc15"), "ProductPrices" : { "Product3" : 150, "Product7" : 100, "Product5" : 250 } }

ProductPrices অবজেক্টে Product2 ফিল্ড থাকা ডকুমেন্ট বের করা

> db.findDocumentContainsSpecificFieldDemo.find({ "ProductPrices.Product2": { $exists: true } });

আউটপুট:

{ "_id" : ObjectId("5cf2385bb64a577be5a2bc14"), "ProductPrices" : { "Product1" : 10, "Product2" : 50 } }

ব্যাখ্যা:

  • ProductPrices.Product2 — ডট নোটেশন ব্যবহার করে নেস্টেড ফিল্ড রেফার করা হয়েছে।
  • $exists: true — ফিল্ডটি উপস্থিত থাকা ডকুমেন্ট ফিল্টার করে।
  • দ্বিতীয় ডকুমেন্টে Product2 নেই, তাই বাদ পড়েছে।

বিকল্প: শুধু ফিল্ডের মান খুঁজলে { "ProductPrices.Product2": 50 } ব্যবহার করুন। $exists শুধু উপস্থিতি চেক করে।

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

  2. MongoDB-তে নির্দিষ্ট মান থেকে বড় বা সমান ভ্যালু খোঁজা ($gte)

  3. MongoDB-তে $elemMatch এবং $and দিয়ে অ্যারে ফিল্ডে একাধিক শর্ত মিলিয়ে ডকুমেন্ট বের করা

  4. MongoDB-তে $regex ব্যবহার করে নির্দিষ্ট স্ট্রিং ধারণকারী ডকুমেন্ট খোঁজা