প্রথমে ডকুমেন্টসহ একটি কলেকশন তৈরি করি:
> db.demo121.insertOne(
{
"Id" : 101,
"Details" : [
{
"SubjectId" : "1",
"SubjectName" : "MongoDB",
"Score" : 76
},
{
"SubjectId" : "2",
"SubjectName" : "MySQL",
"Score" : 76
},
{
"SubjectId" : "3",
"SubjectName" : "Java",
"Score" : 76
}
]
}
);
{ "acknowledged" : true, "insertedId" : ObjectId("5e2f1c60140daf4c2a3544b3") }
find() মেথড দিয়ে কলেকশন থেকে সব ডকুমেন্ট দেখান:
> db.demo121.find();
আউটপুট:
{ "_id" : ObjectId("5e2f1c60140daf4c2a3544b3"), "Id" : 101, "Details" : [ { "SubjectId" : "1", "SubjectName" : "MongoDB", "Score" : 76 }, { "SubjectId" : "2", "SubjectName" : "MySQL", "Score" : 76 }, { "SubjectId" : "3", "SubjectName" : "Java", "Score" : 76 } ] }
অ্যাগ্রিগেট ফাংশন বাস্তবায়নের কোয়েরি:
> db.demo121.aggregate([
{ "$match": { "Id": 101 } },
{ "$unwind": "$Details" },
{
"$group": {
"_id": "$Details.SubjectId",
"count": { "$sum": 1 },
"Details": {
"$push": {
"SubjectName": "$Details.SubjectName"
}
}
}
},
{
"$group": {
"_id": null,
"List": {
"$push": {
"SubId": "$_id",
"Details": "$Details"
}
}
}
}
], function (err, out) {
res.json(out);
});
ফলাফল:
{ "_id" : null, "List" : [ { "SubId" : "3", "Details" : [ { "SubjectName" : "Java" } ] }, { "SubId" : "2", "Details" : [ { "SubjectName" : "MySQL" } ] }, { "SubId" : "1", "Details" : [ { "SubjectName" : "MongoDB" } ] } ] }