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

MongoDB에서 정렬을 사용하여 문서당 평균 값을 계산하시겠습니까?

<시간/>

평균을 계산하려면 $avg와 함께 집계를 사용하십시오. 먼저 문서로 컬렉션을 생성해 보겠습니다. −

> db.calculateAverage.insertOne({'값':[10,20,80]});{ "승인됨" :true, "insertedId" :ObjectId("5e0383e3f5e889d7a51994dc")}> db.calculateAverage.insert {'값':[12,15,16]});{ "확인":true, "insertedId":ObjectId("5e0383edf5e889d7a51994dd")}> db.calculateAverage.insertOne({'값':[30,35, 40]});{ "승인됨" :true, "insertedId" :ObjectId("5e0383f5f5e889d7a51994de")}

다음은 find() 메서드를 사용하여 컬렉션의 모든 문서를 표시하는 쿼리입니다. -

> db.calculateAverage.find().pretty();

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

{ "_id" :ObjectId("5e0383e3f5e889d7a51994dc"), "값":[ 10, 20, 80 ]}{ "_id" :ObjectId("5e0383edf5e889d7a51994dd"), "2," }{ "_id":ObjectId("5e0383f5f5e889d7a51994de"), "값":[ 30, 35, 40 ]}

다음은 sort −

를 사용하여 문서당 평균값을 계산하는 쿼리입니다.
> db.calculateAverage.aggregate([ { "$addFields":{ "calavg":{ "$avg":"$Value" } }}, { "$sort":{ "calavg":1 } } ],함수(오류, 출력) { res.send(출력) });

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

{ "_id":ObjectId("5e0383edf5e889d7a51994dd"), "값":[ 12, 15, 16 ], "calavg":14.3333333333333334 }{ "_id":ObjectId("59) 30, 35, 40 ], "calavg" :35 }{ "_id" :ObjectId("5e0383e3f5e889d7a51994dc"), "값" :[ 10, 20, 80 ], "calavg" :36.646666666