문서 메뉴

문서 홈애플리케이션 개발MongoDB 매뉴얼

$count (aggregation)

이 페이지의 내용

  • 정의
  • 호환성
  • 구문
  • 행동
  • 예제
$count

버전 3.4에 새로 추가되었습니다.

스테이지에 입력된 문서 수의 개수가 포함된 문서를 다음 스테이지로 전달합니다.

참고

명확화

이 페이지에서는 $count 집계 파이프라인 단계에 대해 설명합니다. $count 집계 누산기에 대해서는$count (aggregation accumulator) 를 참조하십시오.

다음 환경에서 호스팅되는 배포에 $count 사용할 수 있습니다.

  • MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스

$count 의 프로토타입 형태는 다음과 같습니다:

{ $count: <string> }

<string> 은 카운트를 값으로 갖는 출력 필드의 이름입니다. <string> 은 비어 있지 않은 $ . 문자열이어야 하며 로 시작하지 않아야 하고 문자를 포함하지 않아야 합니다.

$count 단계는 다음 $group + $project 시퀀스와 동일합니다.

db.collection.aggregate( [
{ $group: { _id: null, myCount: { $sum: 1 } } },
{ $project: { _id: 0 } }
] )

여기서 myCount 는 개수를 포함하는 출력 필드입니다. 출력 필드에 다른 이름을 지정할 수 있습니다.

다음도 참조하세요.

{db.collection.countDocuments() $group $sum 2}는 집계 단계를 표현식으로 래핑합니다.

0}이라는 이름의 scores 컬렉션에는 다음과 같은 문서가 있습니다:

{ "_id" : 1, "subject" : "History", "score" : 88 }
{ "_id" : 2, "subject" : "History", "score" : 92 }
{ "_id" : 3, "subject" : "History", "score" : 97 }
{ "_id" : 4, "subject" : "History", "score" : 71 }
{ "_id" : 5, "subject" : "History", "score" : 79 }
{ "_id" : 6, "subject" : "History", "score" : 83 }

다음 집계 작업은 두 단계로 구성됩니다:

  1. $match 단계에서는 score 값이 80 미만인 문서를 제외하고 score 값이 80 보다 큰 문서를 다음 단계로 전달합니다.

  2. $count 단계는 집계 파이프라인에 남아 있는 문서 수를 반환하고 해당 값을 passing_scores 필드에 할당합니다.

db.scores.aggregate(
[
{
$match: {
score: {
$gt: 80
}
}
},
{
$count: "passing_scores"
}
]
)

이 연산은 다음과 같은 결과를 반환합니다.

{ "passing_scores" : 4 }
← $collStats (aggregation)

이 페이지의 내용