MongoDB Find-এ প্রজেকশন ব্যবহার করে নির্দিষ্ট ফিল্ড আনা
find()-এর দ্বিতীয় আর্গুমেন্টে প্রজেকশন অবজেক্ট দিয়ে শুধু প্রয়োজনীয় ফিল্ড আনা যায়। 1 (ইনক্লুড) বা 0 (এক্সক্লুড) ব্যবহার করা হয়। _id ডিফল্টভাবে ইনক্লুড থাকে, বাদ দিতে _id:0 লাগে।
উদাহরণ: ডেটা ইনসার্ট
> db.demo10.insertOne({"StudentId":101,"StudentName":"Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e0f68a7d7df943a7cec4f9b") }
> db.demo10.insertOne({"StudentId":102,"StudentName":"David"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e0f68afd7df943a7cec4f9c") }
> db.demo10.insertOne({"StudentId":103,"StudentName":"Bob"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e0f68b5d7df943a7cec4f9d") }
সব ডকুমেন্ট দেখানো
> db.demo10.find();
আউটপুট:
{ "_id" : ObjectId("5e0f68a7d7df943a7cec4f9b"), "StudentId" : 101, "StudentName" : "Chris" }
{ "_id" : ObjectId("5e0f68afd7df943a7cec4f9c"), "StudentId" : 102, "StudentName" : "David" }
{ "_id" : ObjectId("5e0f68b5d7df943a7cec4f9d"), "StudentId" : 103, "StudentName" : "Bob" }
শুধু StudentName ফিল্ড আনা (StudentId ও _id বাদ)
> db.demo10.find({},{ "_id":0, "StudentId":0 });
আউটপুট:
{ "StudentName" : "Chris" }
{ "StudentName" : "David" }
{ "StudentName" : "Bob" }
ব্যাখ্যা
{}— কোয়ারি ফিল্টার (খালি মানে সব ডকুমেন্ট)।{"_id":0, "StudentId":0}— প্রজেকশন: _id এবং StudentId বাদ, বাকি (StudentName) ইনক্লুড।- নियम: একই প্রজেকশনে ১ এবং ০ মিক্স করা যায় না ( _id বাদ देना চাড়া)।
- সর্বোত্তম অনুশীলন:
{"StudentName":1, "_id":0}(ইনক্লুড মোড) ব্যবহার করুন — পঠনীয় এবং ভবিষ্যতে নতুন ফিল্ড যোগ হলে সমস্যা হয় না।