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

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

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} (ইনক্লুড মোড) ব্যবহার করুন — পঠনীয় এবং ভবিষ্যতে নতুন ফিল্ড যোগ হলে সমস্যা হয় না।
  1. MongoDB-এ অন্য ফিল্ড দিয়ে গ্রুপ করে ইউনিক ফিল্ড গণনা করা ($group, $sum)

  2. MongoDB-এ ফিল্ড মান (FirstName) সর্ট করা

  3. MongoDB-তে নেস্টেড ডকুমেন্ট খোঁজা (Dot Notation)

  4. MongoDB-এ "@email" স্ট্রিং সার্চ করা ফিল্ড ভ্যালুতে