কম্পিউটার

অ্যারের প্রতিটি উপাদানের ফ্রিকোয়েন্সি গণনা করার জন্য MongoDB কোয়েরি


গণনা করতে, আপনি $sum সহ aggregate() ব্যবহার করতে পারেন। আসুন নথি-

সহ একটি সংগ্রহ তৈরি করি
> db.demo184.insertOne({"Names":["Chris","David","Bob"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e3999fb9e4f06af55199805")
}
> db.demo184.insertOne({"Names":["Chris","Mike"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e399a0d9e4f06af55199806")
}
> db.demo184.insertOne({"Names":["Chris","Bob","Carol"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e399a209e4f06af55199807")
}

Find() পদ্ধতি -

এর সাহায্যে একটি সংগ্রহ থেকে সমস্ত নথি প্রদর্শন করুন
> db.demo184.find();

এটি নিম্নলিখিত আউটপুট −

তৈরি করবে
{ "_id" : ObjectId("5e3999fb9e4f06af55199805"), "Names" : [ "Chris", "David", "Bob" ] }
{ "_id" : ObjectId("5e399a0d9e4f06af55199806"), "Names" : [ "Chris", "Mike" ] }
{ "_id" : ObjectId("5e399a209e4f06af55199807"), "Names" : [ "Chris", "Bob", "Carol" ] }

নিম্নলিখিত প্রতিটি উপাদানের ফ্রিকোয়েন্সি গণনা করার জন্য ক্যোয়ারী রয়েছে −

> db.demo184.aggregate([
...   { "$unwind" : "$Names" },
...   { "$group": { "_id": "$Names", "count": { "$sum": 1} } },
...   { "$group": {
...      "_id": null,
...         "counts": {
...            "$push": {
...               "k": "$_id",
...               "v": "$count"
...            }
...         }
...      } },
...      { "$replaceRoot": {
...         "newRoot": { "$arrayToObject": "$counts" }
...   } }
...])

এটি নিম্নলিখিত আউটপুট −

তৈরি করবে
{ "Carol" : 1, "David" : 1, "Chris" : 3, "Bob" : 2, "Mike" : 1 }

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

  2. নথিতে অ্যারে আইটেমের সংখ্যা গণনা করতে এবং একটি নতুন ক্ষেত্রে প্রদর্শন করার জন্য MongoDB ক্যোয়ারী

  3. MongoDB ক্যোয়ারী অ্যারের শুধুমাত্র একটি উপাদান স্লাইস করতে

  4. MongoDB ক্যোয়ারী অ্যারে উপাদান একত্রিত গড় পেতে?