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

집계 쿼리에서 $avg에 대한 "-Infinity" 결과를 얻는 방법은 무엇입니까?

<시간/>

이를 위해 집계()를 사용할 수 있습니다. 먼저 vlaue가 -infinity −

인 문서로 컬렉션을 생성해 보겠습니다.
> db.demo5.insertOne({ "_id" : 100, "seq" : 10, "Value" : -Infinity });
{ "acknowledged" : true, "insertedId" : 100 }
> db.demo5.insertOne({ "_id" : 101, "seq" : 10, "Value" : 50 });
{ "acknowledged" : true, "insertedId" : 101 }
> db.demo5.insertOne({ "_id" : 102, "seq" : 20, "Value" : 60 });
{ "acknowledged" : true, "insertedId" : 102 }
> db.demo5.insertOne({ "_id" : 103, "seq" : 20, "Value" : 50 });
{ "acknowledged" : true, "insertedId" : 103 }

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

> db.demo5.find();

그러면 다음과 같은 출력 &miuns;

가 생성됩니다.
{ "_id" : 100, "seq" : 10, "Value" : -Infinity }
{ "_id" : 101, "seq" : 10, "Value" : 50 }
{ "_id" : 102, "seq" : 20, "Value" : 60 }
{ "_id" : 103, "seq" : 20, "Value" : 50 }

다음은 집계 쿼리에서 $avg에 대한 "-Infinity" 결과를 가져오는 쿼리입니다. seq를 기반으로 평균을 찾았습니다. 결과는 -Infinity −

> db.demo5.aggregate([{$group:{"_id":"$seq", "average" : {$avg : "$Value"}}}]);

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

{ "_id" : 20, "average" : 55 }
{ "_id" : 10, "average" : -Infinity }