Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /

$count (집계 단계)

$count

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

참고

명확화

다음 환경에서 호스팅되는 배포에 $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 는 개수를 저장하는 출력 필드 입니다. 출력 필드 에 다른 이름을 지정할 수 있습니다.

입력 데이터 세트가 비어 있으면 $count 결과를 반환하지 않습니다.

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

이 페이지의 예시에서는 sample_mflix 샘플 데이터 세트의 데이터를 사용합니다. 이 데이터 세트를 자체 관리형 MongoDB 배포서버에 로드하는 방법에 대한 자세한 내용은 샘플 데이터 세트 로드를 참조하세요. 샘플 데이터베이스를 수정한 경우 이 페이지의 예시를 실행 하려면 데이터베이스를 제거하고 다시 만들어야 할 수 있습니다.

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

  1. $match 단계는 metacritic100 인 문서를 필터링하여 해당 문서만 다음 단계로 전달합니다.

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

db.movies.aggregate( [
{ $match: { metacritic: { $eq: 100 } } },
{ $count: "perfect_score_count" }
] )
[ { perfect_score_count: 8 } ]

이 페이지의 C# 예제에서는 Atlas 샘플 데이터 세트sample_mflix 데이터베이스 사용합니다. 무료 MongoDB Atlas cluster 생성하고 샘플 데이터 세트를 로드하는 방법을 학습하려면 MongoDB .NET/ C# 드라이버 문서에서 시작하기 를 참조하세요.

다음 Movie 클래스는 sample_mflix.movies 컬렉션의 문서를 모델링합니다.

[BsonIgnoreExtraElements]
public class Movie
{
[BsonId]
public ObjectId Id { get; set; }
[BsonElement("title")]
public string Title { get; set; } = null!;
[BsonElement("runtime")]
public int? Runtime { get; set; }
[BsonElement("rated")]
public string? Rated { get; set; }
[BsonElement("metacritic")]
public int Metacritic { get; set; }
}

MongoDB .NET/ C# 운전자 사용하여 $count 집계 파이프라인 에 단계를 추가하려면 PipelineDefinition 객체 에서 Count() 메서드를 호출합니다.

다음 예시 metacritic 필드 값이 100movies 컬렉션 의 모든 문서 수를 반환하는 파이프라인 단계를 만듭니다.

var pipeline = new EmptyPipelineDefinition<Movie>()
.Match(Builders<Movie>.Filter.Eq(m => m.Metacritic, 100))
.Count();

이 페이지의 Node.js 예제에서는 Atlas 샘플 데이터 세트sample_mflix 데이터베이스 사용합니다. 무료 MongoDB Atlas cluster 생성하고 샘플 데이터 세트를 로드하는 방법을 학습하려면 MongoDB Node.js 운전자 설명서에서 시작하기 를 참조하세요.

MongoDB Node.js 운전자 사용하여 집계 파이프라인 에 $count 단계를 추가하려면 파이프라인 객체 에서 $count 연산자 사용합니다.

다음 예시 에서는 sample_mflix.movies 컬렉션 의 입력 문서 수를 계산하고 해당 개수가 포함된 문서 반환하는 파이프라인 단계를 만듭니다. 그런 다음 이 예시 에서는 집계 파이프라인 실행합니다.

const pipeline = [{ $count: "movies" }];
const cursor = collection.aggregate(pipeline);
return cursor;

돌아가기

$collStats

이 페이지의 내용