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

MongoDB-তে নেটিভ কোয়েরি দিয়ে অ্যারেতে ভিতরে খুঁজে কাউন্ট পাওয়া


অ্যারেতে ভিতরে কোয়েরি করে এক্সিস্টেন্স চেক করে কাউন্ট পেতে $exists ব্যবহার করুন। ডকুমেন্টসহ একটি কলেকশন তৈরি করি:

> db.demo296.insertOne(
    {
        "id":101,
        "Name":"Chris",
        "details":[
            { SubjectId:[101,103], "SubjectName":["MySQL","MongoDB"] },
            { SubjectId:[102,104], "SubjectName":["Java","C"] }
        ]
    }
);
{ "acknowledged" : true, "insertedId" : ObjectId("5e4d51715d93261e4bc9ea3b") }
> db.demo296.insertOne(
    {
        "id":102,
        "Name":"David",
        "details":[
            { SubjectId:[110,113] },
            { SubjectId:[112,114] }
        ]
    }
);
{ "acknowledged" : true, "insertedId" : ObjectId("5e4d519b5d93261e4bc9ea3c") }
> db.demo296.insertOne(
    {
        "id":103,
        "Name":"Bob",
        "details":[
            { "SubjectName":["C++","Python"] },
            { "SubjectName":["Spring","Hibernate"] }
        ]
    }
);
{ "acknowledged" : true, "insertedId" : ObjectId("5e4d52315d93261e4bc9ea3d") }

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

> db.demo296.find();

আউটপুট:

{ "_id" : ObjectId("5e4d51715d93261e4bc9ea3b"), "id" : 101, "Name" : "Chris", "details" : [ { "SubjectId" : [ 101, 103 ], "SubjectName" : [ "MySQL", "MongoDB" ] }, { "SubjectId" : [ 102, 104 ], "SubjectName" : [ "Java", "C" ] } ] }
{ "_id" : ObjectId("5e4d519b5d93261e4bc9ea3c"), "id" : 102, "Name" : "David", "details" : [ { "SubjectId" : [ 110, 113 ] }, { "SubjectId" : [ 112, 114 ] } ] }
{ "_id" : ObjectId("5e4d52315d93261e4bc9ea3d"), "id" : 103, "Name" : "Bob", "details" : [ { "SubjectName" : [ "C++", "Python" ] }, { "SubjectName" : [ "Spring", "Hibernate" ] } ] }

MongoDB-তে অ্যারেতে ভিতরে কোয়েরি করে কাউন্ট পাওয়ার পদ্ধতি (SubjectName ফিল্ড থাকা ডকুমেন্ট কাউন্ট):

> db.demo296.count( { 'details.SubjectName': {$exists: true } } );

ফলাফল (২টি ডকুমেন্টে SubjectName ফিল্ড আছে):

2

  1. MongoDB-এ $unwind ব্যবহার করে কাউন্ট বের করা

  2. MongoDB-তে শুধু ফিল্ড নাম কুয়েরি করে শুধু _id প্রদর্শন

  3. MongoDB-এ অ্যারে আইটেম গ্রুপ করে একই প্রাইসের প্রোডাক্ট কাউন্ট করা

  4. MongoDB-তে অ্যারে এলিমেন্টের সংখ্যা গুনে নতুন ফিল্ডে দেখানো ($size)