Computer >> 컴퓨터 >  >> 프로그램 작성 >> MongoDB

MongoDB에서 필드 수별로 컬렉션을 집계하고 그룹화하려면 어떻게 해야 합니까?

<시간/>

MongoDBaggregate()에서는 $group 및 집계 컬렉션을 사용합니다. 문서로 컬렉션을 만들자 −

> db.demo616.insertOne({"세부 정보":{"이름":"크리스","나이":21}});{ "확인됨":true, "삽입 ID":ObjectId("5e99bfac65492f6c60d00283") }> db.demo616.insertOne({"세부 정보":{"이름":"크리스","나이":22}});{ "확인됨":true, "삽입 ID":ObjectId("5e99bfb065492f6c60d00284")}> db.demo616.insertOne({"세부 정보":{"이름":"밥","나이":23}});{ "확인됨":true, "insertedId":ObjectId("5e99bfb865492f6c60d00285")}> db. demo616.insertOne({"details":{"이름":"샘","나이":21}});{ "승인됨":true, "insertedId":ObjectId("5e99bfbd65492f6c60d00286")}> db.demo616 insertOne({"details":{"Name":"Chris","Age":24}});{ "acknowledged" :true, "insertedId" :ObjectId("5e99bfc165492f6c60d00287")}

find() 메서드를 사용하여 컬렉션의 모든 문서 표시 -

> db.demo616.find();

이것은 다음과 같은 출력을 생성합니다 -

{ "_id":ObjectId("5e99bfac65492f6c60d00283"), "details":{ "이름":"크리스", "나이":21 } }{ "_id":ObjectId("5e99bfb065492f6c60d00283"), "details"::{ "이름" :"크리스", "나이" :22 } }{ "_id" :ObjectId("5e99bfb865492f6c60d00285"), "details" :{ "이름" :"밥", "나이" :23 } }{ "_id":ObjectId("5e99bfbd65492f6c60d00286"), "details":{ "이름":"샘", "나이":21 } }{ "_id":ObjectId("5e99bfc165492f6c60d00286"), "세부 정보":{ "이름":"샘", "_id":ObjectId("5e99bfc165492f6c60d0028 " :"크리스", "나이" :24 } }

다음은 컬렉션을 집계하고 필드 수별로 그룹화하는 쿼리입니다 -

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

이것은 다음과 같은 출력을 생성합니다 -

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