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

MongoDB Aggregate 및 GroupBy를 사용하여 이름 레코드의 빈도 가져오기

<시간/>

먼저 문서로 컬렉션을 만들어 보겠습니다. −

> db.demo232.insertOne({_id:101,이름:"크리스"});{ "승인됨" :true, "insertedId" :101 }> db.demo232.insertOne({_id:102,이름:"밥"});{ "확인된" :true, "삽입된Id" :102 }> db.demo232.insertOne({_id:103,Name:"밥"});{ "확인된" :true, "삽입된Id" :103 }> db.demo232.insertOne({_id:104,Name:"David"});{ "승인됨":true, "insertedId":104 }> db.demo232.insertOne({_id:105,이름:" Chris"});{ "승인됨" :true, "insertedId" :105 }

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

> db.demo232.find();

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

{ "_id" :101, "이름" :"크리스" }{ "_id" :102, "이름" :"밥" }{ "_id" :103, "이름" :"밥" }{ " _id":104, "이름":"데이비드" }{ "_id":105, "이름":"크리스" }

다음은 MongoDB에서 이름 레코드의 빈도를 구하는 쿼리입니다 -

> db.demo232.aggregate( { $group :{_id :"$Name", 빈도 :{ $sum :1 }} } );

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

{ "_id" :"David", "Frequency" :1 }{ "_id" :"Bob", "Frequency" :2 }{ "_id" :"Chris", "Frequency" :2 }