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

MongoDB-তে $group এবং $push ব্যবহার করে মানগুলোর তালিকা পাওয়া

MongoDB অগ্রিগেশনে $group এবং $push অপারেটর ব্যবহার করে গ্রুপ বাই করা ফিল্ড অনুযায়ী অন্য ফিল্ডের মানগুলোর একটি অ্যারে (তালিকা) তৈরি করা যায়।

নমুনা ডেটা তৈরি করা

groupByDemo কালেকশনে ৫টি ডকুমেন্ট ইনসার্ট করি।

> db.groupByDemo.insertOne({"UserName":"John","Subject":"MongoDB"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd69f0457806ebf1256f136") }
> db.groupByDemo.insertOne({"UserName":"Larry","Subject":"MySQL"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd69f0657806ebf1256f137") }
> db.groupByDemo.insertOne({"UserName":"John","Subject":"Java"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd69f0d57806ebf1256f138") }
> db.groupByDemo.insertOne({"UserName":"John","Subject":"C"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd69f1357806ebf1256f139") }
> db.groupByDemo.insertOne({"UserName":"Larry","Subject":"SQL Server"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd69f1c57806ebf1256f13a") }

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

> db.groupByDemo.find().pretty();

আউটপুট:

{ "_id" : ObjectId("5cd69f0457806ebf1256f136"), "UserName" : "John", "Subject" : "MongoDB" }
{ "_id" : ObjectId("5cd69f0657806ebf1256f137"), "UserName" : "Larry", "Subject" : "MySQL" }
{ "_id" : ObjectId("5cd69f0d57806ebf1256f138"), "UserName" : "John", "Subject" : "Java" }
{ "_id" : ObjectId("5cd69f1357806ebf1256f139"), "UserName" : "John", "Subject" : "C" }
{ "_id" : ObjectId("5cd69f1c57806ebf1256f13a"), "UserName" : "Larry", "Subject" : "SQL Server" }

$group এবং $push দিয়ে তালিকা বানানো

UserName অনুযায়ী গ্রুপ করে Subject গুলো অ্যারেতে পুশ করি:

> db.groupByDemo.aggregate({$group: { '_id': '$UserName', 'Subject': { $push: '$Subject' } }});

আউটপুট:

{ "_id" : "Larry", "Subject" : [ "MySQL", "SQL Server" ] }
{ "_id" : "John", "Subject" : [ "MongoDB", "Java", "C" ] }

নোট: $push অর্ডার রক্ষা করে। অনIQUE মান চাইলে $addToSet ব্যবহার করুন।

  1. SortedList অবজেক্টে ভ্যালুগুলো পান C#-এ

  2. পাইথন প্রোগ্রাম - অন্য লিস্টের ভ্যালু দিয়ে লিস্ট মাস্ক করা

  3. পাইথনে দ্বিতীয় তালিকা ব্যবহার করে প্রথম তালিকার মান সর্ট করা

  4. পাইথনে None মান সহ লিস্ট থেকে ডিকশনারি তৈরি করা