কম্পিউটার

সমস্ত MongoDB নথি জুড়ে অ্যারে-ভিত্তিক ক্ষেত্রে অনন্য আইটেম গণনা করবেন?


অ্যারে-ভিত্তিক ক্ষেত্রগুলিতে অনন্য আইটেমগুলি গণনা করতে, aggregate() সহ $group ব্যবহার করুন। আসুন নথি-

সহ একটি সংগ্রহ তৈরি করি
> db.demo493.insertOne({"SubjectName":["MySQL","MongoDB","Java"]});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e849f97b0f3fa88e22790c4")
}
> db.demo493.insertOne({"SubjectName":["C++","MongoDB","C"]});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e849fa4b0f3fa88e22790c5")
}
> db.demo493.insertOne({"SubjectName":["MySQL","MongoDB","C"]});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e849fb2b0f3fa88e22790c6")
}

Find() পদ্ধতি -

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

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

তৈরি করবে
{ "_id" : ObjectId("5e849f97b0f3fa88e22790c4"), "SubjectName" : [ "MySQL", "MongoDB",
"Java" ] }
{ "_id" : ObjectId("5e849fa4b0f3fa88e22790c5"), "SubjectName" : [ "C++", "MongoDB", "C" ] }
{ "_id" : ObjectId("5e849fb2b0f3fa88e22790c6"), "SubjectName" : [ "MySQL", "MongoDB", "C"
] }

সমস্ত নথিতে অ্যারে-ভিত্তিক ক্ষেত্রগুলিতে অনন্য আইটেমগুলি গণনা করার জন্য নিম্নলিখিত ক্যোয়ারী রয়েছে -

> db.demo493.aggregate([
...    { $unwind: "$SubjectName" },
...    { $group: { _id: "$SubjectName", Frequency: { $sum : 1 } } }
... ]
... );

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

তৈরি করবে
{ "_id" : "C++", "Frequency" : 1 }
{ "_id" : "C", "Frequency" : 2 }
{ "_id" : "Java", "Frequency" : 1 }
{ "_id" : "MySQL", "Frequency" : 2 }
{ "_id" : "MongoDB", "Frequency" : 3 }

  1. ক্ষেত্র এবং সাবফিল্ড দ্বারা MongoDB আইটেমগুলি ফিল্টার করা হচ্ছে?

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

  3. সমস্ত নথি জুড়ে স্বতন্ত্র মান গণনার জন্য MongoDB ক্যোয়ারী?

  4. MongoDB সমষ্টি সহ একাধিক ক্ষেত্র দ্বারা গণনা করুন