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

MongoDB-তে প্রজেকশনের দিয়ে দেয়া ফিল্ডসহ সাব-ডকুমেন্ট লিমিট করা


এজন্য MongoDB-তে aggregate() ব্যবহার করুন। ডকুমেন্টসহ একটি কলেকশন তৈরি করি:

> db.demo285.insertOne(
    {
        details : [
            { Name : "Chris" },
            { Name2: "Bob" },
            { Name: "Mike" }
        ]
    }
);
{ "acknowledged" : true, "insertedId" : ObjectId("5e4abffef49383b52759cbb9") }

find() মেথড দিয়ে সব ডকুমেন্ট দেখান:

> db.demo285.find();

আউটপুট:

{ "_id" : ObjectId("5e4abffef49383b52759cbb9"), "details" : [ { "Name" : "Chris" }, { "Name2" : "Bob" }, { "Name" : "Mike" } ] }

প্রজেকশনের দিয়ে দেয়া ফিল্ডসহ সাব-ডকুমেন্ট লিমিট করার কোয়েরি:

> db.demo285.aggregate(
    [
        { $match: { 'details.Name' : { $exists: 1 } } },
        { $unwind: "$details" },
        { $match: { 'details.Name' : { $exists: 1 } } },
        { $project: { Name: "$details.Name", _id: 0 } }
    ]
)

ফলাফল (শুধু Name ফিল্ড থাকা সাব-ডকুমেন্টগুলো):

{ "Name" : "Chris" }
{ "Name" : "Mike" }

  1. MongoDB-তে সাবডকুমেন্টের অ্যারে কুয়েরি

  2. MongoDB-এ ক্যাপড কালেকশন ব্যবহার করে ডকুমেন্ট সংখ্যা লিমিট করা

  3. MongoDB-তে _id বাদে সব ফিল্ড দেখানো (JavaScript ফরইচ + প্রজেকশন)

  4. MongoDB-তে $slice ব্যবহার করে ফিল্ডের রিটার্নিং ভ্যালু লিমিট করা