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

MongoDB에서 평균보다 높은 값을 가진 문서를 선택하는 방법은 무엇입니까?


MongoDB에서 집계()를 사용하여 평균 이상의 값을 가진 문서를 선택합니다. 평균을 구하려면 MongoDB에서 $avg를 사용하십시오.

문서로 컬렉션을 만들자 −

> db.demo552.insertOne({값:10});{ "승인됨":true, "insertedId":ObjectId("5e8e3b1c9e5f92834d7f05ea")}> db.demo552.insertOne({값:50) "acknowledged" :true, "insertedId" :ObjectId("5e8e3b1f9e5f92834d7f05eb")}> db.demo552.insertOne({values:40});{ "acknowledged" :true, "insertedId" :8e5b905 

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

> db.demo552.find();

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

<_id":ObjectId("5e8e3b1c9e5f92834d7f05ea"), "값":10 }{ "_id":ObjectId("5e8e3b1f9e5f92834d7f9e5f92834d7f05eb"),"df834d7f05eb"), "값":50 }{ , "값" :40 }

다음은 평균 이상의 값을 가진 문서를 선택하는 쿼리입니다 -

> var findAvg =db.demo552.aggregate([... { "$group":{ "_id":"null", Average:{ "$avg":"$values"} }}... ]).toArray()[0]["평균"];> db.demo552.find({ "값":{ "$gt":findAvg } })

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

{ "_id" :ObjectId("5e8e3b1f9e5f92834d7f05eb"), "values" :50 }{ "_id" :ObjectId("5e8e3b289e5f92834d7f05ec"), "values" :40 }