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 এর অনন্য মান অ্যারে হিসেবে (ইন্ডেক্স ওনলি স্ক্যান)।