মানগুলির একটি তালিকা পেতে, $পুশ অপারেটরের সাথে $গ্রুপ এগ্রিগেশন ব্যবহার করুন। আসুন প্রথমে নথি-
সহ একটি সংগ্রহ তৈরি করি> 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")
} Find() পদ্ধতির সাহায্যে একটি সংগ্রহ থেকে সমস্ত নথি প্রদর্শন করার জন্য নিম্নলিখিত প্রশ্ন রয়েছে -
> 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 −
ব্যবহার করে মানের তালিকা পেতে ক্যোয়ারী নিচে দেওয়া হল> db.groupByDemo.aggregate({$group: { '_id': '$UserName', 'Subject': { $push: '$Subject'}}}); এটি নিম্নলিখিত আউটপুট −
তৈরি করবে{ "_id" : "Larry", "Subject" : [ "MySQL", "SQL Server" ] }
{ "_id" : "John", "Subject" : [ "MongoDB", "Java", "C" ] }