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

MongoDB-এ find() প্রজেকশন দিয়ে শুধু _id ফিল্ড আনা

MongoDB-এ প্রজেকশন ব্যবহার করে শুধু _id ফিল্ড আনা

যদি শুধু ডকুমেন্টের _id গুলো দরকার হয় (যেমন আইডি লিস্ট, রেফারেন্স চেক), তবে find({}, {FieldName:0}) দিয়ে অন্য ফিল্ড বাদ দিয়ে শুধু _id আনা যায়। এটি নেটওয়ার্ক ও মেমরি বাঁচায়।

উদাহরণ: ডেটা ইনসার্ট

> db.demo169.insertOne({"StudentName":"Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e36975e9e4f06af551997d7") }
> db.demo169.insertOne({"StudentName":"Bob"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e3697629e4f06af551997d8") }
> db.demo169.insertOne({"StudentName":"David"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e3697679e4f06af551997d9") }

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

> db.demo169.find();

আউটপুট:

{ "_id" : ObjectId("5e36975e9e4f06af551997d7"), "StudentName" : "Chris" }
{ "_id" : ObjectId("5e3697629e4f06af551997d8"), "StudentName" : "Bob" }
{ "_id" : ObjectId("5e3697679e4f06af551997d9"), "StudentName" : "David" }

শুধু _id আনার কোয়ারি (StudentName বাদ)

> var iterator = db.demo169.find({}, {"StudentName":0});

ইটারেটর প্রিন্ট:

> iterator;
{ "_id" : ObjectId("5e36975e9e4f06af551997d7") }
{ "_id" : ObjectId("5e3697629e4f06af551997d8") }
{ "_id" : ObjectId("5e3697679e4f06af551997d9") }

ব্যাখ্যা

  • find({}, {"StudentName":0}) — কোয়ারি খালি (সব ডকুমেন্ট), প্রজেকশনে StudentName বাদ (0)। _id ডিফল্টই থাকে।
  • var iterator = ... — কার্সর ভেরিয়েবলে রাখা, তারপর টাইপ করলে ইটারেট হয়।
  • বিকল্প: find({}, {_id:1}) (ইনক্লুড মোড) — একই ফলাফল, আরও স্পষ্ট।
  • দ্রুততর: db.demo169.distinct("_id") — শুধু _id এর অনন্য মান অ্যারে হিসেবে (ইন্ডেক্স ওনলি স্ক্যান)।
  1. MongoDB অ্যাগ্রিগেশন দিয়ে সব ডকুমেন্ট জুড়ে ডISTINCT মান গণনা করা

  2. MongoDB-তে কম্পাউন্ড শর্ত দিয়ে ডকুমেন্ট বের করা ($in অপারেটর)

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

  4. MongoDB-তে $in অপারেটর ব্যবহার করে নির্দিষ্ট একাধিক ডকুমেন্ট বের করা