Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

Aggregate และ Group โดยนับ Field ใน MongoDB

Aggregate Collection และ Group โดยนับ Field

ใน MongoDB aggregate() ให้ใช้ $group และ Aggregate Collection

สร้าง Collection พร้อมข้อมูล

> db.demo616.insertOne({"details":{"Name":"Chris","Age":21}});
{ "acknowledged" : true, "insertedId" : ObjectId("5e99bfac65492f6c60d00283") }
> db.demo616.insertOne({"details":{"Name":"Chris","Age":22}});
{ "acknowledged" : true, "insertedId" : ObjectId("5e99bfb065492f6c60d00284") }
> db.demo616.insertOne({"details":{"Name":"Bob","Age":23}});
{ "acknowledged" : true, "insertedId" : ObjectId("5e99bfb865492f6c60d00285") }
> db.demo616.insertOne({"details":{"Name":"Sam","Age":21}});
{ "acknowledged" : true, "insertedId" : ObjectId("5e99bfbd65492f6c60d00286") }
> db.demo616.insertOne({"details":{"Name":"Chris","Age":24}});
{ "acknowledged" : true, "insertedId" : ObjectId("5e99bfc165492f6c60d00287") }

แสดงเอกสารทั้งหมด

> db.demo616.find();

ผลลัพธ์:

{ "_id" : ObjectId("5e99bfac65492f6c60d00283"), "details" : { "Name" : "Chris", "Age" : 21 } }
{ "_id" : ObjectId("5e99bfb065492f6c60d00284"), "details" : { "Name" : "Chris", "Age" : 22 } }
{ "_id" : ObjectId("5e99bfb865492f6c60d00285"), "details" : { "Name" : "Bob", "Age" : 23 } }
{ "_id" : ObjectId("5e99bfbd65492f6c60d00286"), "details" : { "Name" : "Sam", "Age" : 21 } }
{ "_id" : ObjectId("5e99bfc165492f6c60d00287"), "details" : { "Name" : "Chris", "Age" : 24 } }

คิวรี Aggregate และ Group โดยนับ Field

> db.demo616.aggregate(
... [
...     {
...         $group:{_id:"$details.Name",Total:{$sum:1}}
...     }
... ] ... );

ผลลัพธ์:

{ "_id" : "Sam", "Total" : 1 }
{ "_id" : "Bob", "Total" : 1 }
{ "_id" : "Chris", "Total" : 3 }