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

집계로 MongoDB의 평균 점수를 얻으시겠습니까?

<시간/>

집계 프레임워크와 함께 $avg 연산자를 사용합니다. 먼저 문서로 컬렉션을 만들어 보겠습니다. 여기에서 필드 중 하나는 StudentScore −

입니다.
> db.averageReturiningNullDemo.insertOne(
   {"StudentDetails" : { "StudentScore" : 89 }
});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ce9822e78f00858fb12e927")
}
> db.averageReturiningNullDemo.insertOne(
   {"StudentDetails" : { "StudentScore" : 34 }
});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ce9822e78f00858fb12e928")
}
> db.averageReturiningNullDemo.insertOne(
   {"StudentDetails" : { "StudentScore" : 78 }
});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ce9822e78f00858fb12e929")
}

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

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

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

{
   "_id" : ObjectId("5ce9822e78f00858fb12e927"),
   "StudentDetails" : {
      "StudentScore" : 89
   }
}
{
   "_id" : ObjectId("5ce9822e78f00858fb12e928"),
   "StudentDetails" : {
      "StudentScore" : 34
   }
}
{
   "_id" : ObjectId("5ce9822e78f00858fb12e929"),
   "StudentDetails" : {
      "StudentScore" : 78
   }
}

다음은 평균 반환에 대한 쿼리입니다 -

> db.averageReturiningNullDemo.aggregate([
   {
      "$group": {
         "_id": null,
         "StudentScoreAverage": {
            "$avg": "$StudentDetails.StudentScore"
         }
      }
   }
]);

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

{ "_id" : null, "StudentScoreAverage" : 67 }