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

MongoDB에서 동일한 수를 사용하여 최대 발생률을 가진 상위 사용자 찾기

<시간/>

수와 최고 사용자를 얻으려면 $group 을aggregate() 와 함께 사용하십시오. 문서로 컬렉션을 만들자 −

> db.demo264.insertOne({"이름":"크리스"});{ "승인" :true, "insertedId" :ObjectId("5e47ed441627c0c63e7dba9e")}> db.demo264.insertOne({"이름" :"데이비드"});{ "확인됨" :true, "insertedId" :ObjectId("5e47ed471627c0c63e7dba9f")}> db.demo264.insertOne({"이름":"크리스"});{ "확인됨" :true, "insertedId":ObjectId("5e47ed491627c0c63e7dbaa0")}> db.demo264.insertOne({"이름":"밥"});{ "확인":true, "insertedId":ObjectId("5e47ed4c16 demo264.insertOne({"이름":"크리스"});{ "승인됨":true, "insertedId":ObjectId("5e47ed4e1627c0c63e7dbaa2")}> db.demo264.insertOne({"이름":"밥"});{ "승인됨" :true, "insertedId" :ObjectId("5e47ed531627c0c63e7dbaa3")}

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

> db.demo264.find();

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

{ "_id":ObjectId("5e47ed441627c0c63e7dba9e"), "이름":"크리스" }{ "_id":ObjectId("5e47ed471627c0c63e7dba9f"), "이름":"데이비드":ObjectId(("_id") "5e47ed491627c0c63e7dbaa0"), "이름":"크리스" }{ "_id":ObjectId("5e47ed4c1627c0c63e7dbaa1"), "이름":"밥" }{ "_id":ObjectId("5e47ed4) 크리스" }{ "_id" :ObjectId("5e47ed531627c0c63e7dbaa3"), "이름" :"밥" }

다음은 MongoDB에서 동일한 개수를 사용하여 최대 발생률을 가진 상위 사용자를 찾는 쿼리입니다. -

> db.demo264.aggregate(... {$group :{_id :"$Name", "count" :{$sum :1}}},... {$sort :{"count" :-1}},... {$limit :5}...)

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

{ "_id" :"크리스", "카운트" :3 }{ "_id" :"밥", "카운트" :2 }{ "_id" :"데이비드", "카운트" :1 }