Computer >> Máy Tính >  >> Lập trình >> MongoDB

MongoDB CHỌN COUNT NHÓM THEO?

Bạn có thể đạt được điều này với sự trợ giúp của một khuôn khổ tổng hợp. Để hiểu khái niệm, chúng ta hãy tạo một bộ sưu tập với tài liệu. Truy vấn để tạo một bộ sưu tập với một tài liệu như sau -

> db.countGroupByDemo.insertOne({"StudentId":10,"StudentName":"John"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c7700871e9c5dd6f1f78296")
}
> db.countGroupByDemo.insertOne({"StudentId":10,"StudentName":"Carol"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c77008f1e9c5dd6f1f78297")
}
> db.countGroupByDemo.insertOne({"StudentId":20,"StudentName":"Sam"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c7700971e9c5dd6f1f78298")
}
> db.countGroupByDemo.insertOne({"StudentId":30,"StudentName":"Mike"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c7700a21e9c5dd6f1f78299")
}
> db.countGroupByDemo.insertOne({"StudentId":30,"StudentName":"David"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c7700aa1e9c5dd6f1f7829a")
}
> db.countGroupByDemo.insertOne({"StudentId":10,"StudentName":"Maxwell"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c7700b41e9c5dd6f1f7829b")
}
> db.countGroupByDemo.insertOne({"StudentId":20,"StudentName":"Bob"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c7700bd1e9c5dd6f1f7829c")
}

Hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find (). Truy vấn như sau -

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

Đầu ra

{
   "_id" : ObjectId("5c7700871e9c5dd6f1f78296"),
   "StudentId" : 10,
   "StudentName" : "John"
}
{
   "_id" : ObjectId("5c77008f1e9c5dd6f1f78297"),
   "StudentId" : 10,
   "StudentName" : "Carol"
}
{
   "_id" : ObjectId("5c7700971e9c5dd6f1f78298"),
   "StudentId" : 20,
   "StudentName" : "Sam"
}
{
   "_id" : ObjectId("5c7700a21e9c5dd6f1f78299"),
   "StudentId" : 30,
   "StudentName" : "Mike"
}
{
   "_id" : ObjectId("5c7700aa1e9c5dd6f1f7829a"),
   "StudentId" : 30,
   "StudentName" : "David"
}
{
   "_id" : ObjectId("5c7700b41e9c5dd6f1f7829b"),
   "StudentId" : 10,
   "StudentName" : "Maxwell"
}
{
   "_id" : ObjectId("5c7700bd1e9c5dd6f1f7829c"),
   "StudentId" : 20,
   "StudentName" : "Bob"
}

Đây là truy vấn để chọn nhóm đếm theo -

> db.countGroupByDemo.aggregate([
... {"$group":{_id:"$StudentId",counter:{$sum:1}}}]);

Đầu ra

{ "_id" : 30, "counter" : 2 }
{ "_id" : 20, "counter" : 2 }
{ "_id" : 10, "counter" : 3 }