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

MongoDB ক্যোয়ারি থেকে নির্দিষ্ট ফিল্ডের মানগুলো তালিকা আকারে কিভাবে পাবেন?

MongoDB-এ ক্যোয়ারি ফলাফল থেকে নির্দিষ্ট ফিল্ডের মানগুলো একটি জাভাস্ক্রিপ্ট অ্যারে আকারে পেতে map() ফাংশন ব্যবহার করুন।

উদাহরণ

কয়েকটি ডকুমেন্ট তৈরি করুন:

> db.listOfSpecificValuesDemo.insertOne({"StudentName":"John"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cefcc8fef71edecf6a1f6bb") }

> db.listOfSpecificValuesDemo.insertOne({"StudentName":"Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cefcc94ef71edecf6a1f6bc") }

> db.listOfSpecificValuesDemo.insertOne({"StudentName":"Robert"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cefcc98ef71edecf6a1f6bd") }

> db.listOfSpecificValuesDemo.insertOne({"StudentName":"David"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cefcc9cef71edecf6a1f6be") }

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

> db.listOfSpecificValuesDemo.find();

আউটপুট:

{ "_id" : ObjectId("5cefcc8fef71edecf6a1f6bb"), "StudentName" : "John" }
{ "_id" : ObjectId("5cefcc94ef71edecf6a1f6bc"), "StudentName" : "Chris" }
{ "_id" : ObjectId("5cefcc98ef71edecf6a1f6bd"), "StudentName" : "Robert" }
{ "_id" : ObjectId("5cefcc9cef71edecf6a1f6be"), "StudentName" : "David" }

শুধু StudentName গুলো অ্যারে আকারে বের করা

> db.listOfSpecificValuesDemo.find().map(function(myDocument) {
    return myDocument.StudentName;
});

আউটপুট:

[ "John", "Chris", "Robert", "David" ]

ব্যাখ্যা:

  • find() — কার্সার রিটার্ন করে।
  • map(function(doc) { return doc.field; }) — কার্সারের প্রতিটি ডকুমেন্টের জন্য ফাংশন চালিয়ে ফিল্ড মান সংগ্রহ করে অ্যারে বানায়।
  • এটি শেল-সাইড অপারেশন, সার্ভার-সাইড নয়। বড় ডেটাসেটে মেমরি সমস্যা হতে পারে।

সার্ভার-সাইড বিকল্প (এগ্রিগেশন):

db.listOfSpecificValuesDemo.aggregate([
    { $group: { _id: null, names: { $push: "$StudentName" } } },
    { $project: { _id: 0, names: 1 } }
]);

আউটপুট: { "names" : [ "John", "Chris", "Robert", "David" ] }

  1. MongoDB-তে লিস্ট থেকে মান (অবজেক্ট নয়) কুয়েরি করা

  2. MongoDB-তে অ্যারে ফিল্ড থেকে নির্দিষ্ট নামের তালিকা পাওয়া

  3. MongoDB-এ নির্দিষ্ট ফিল্ডের সব ডকুমেন্টের মান যোগ করা (aggregate $sum)

  4. MongoDB-এ ডকুমেন্ট থেকে নির্দিষ্ট ভ্যালু ফিল্টার করা ($filter)