개요
이 페이지에서는 .NET/ C# 드라이버 의 메서드를 사용하여 집계 파이프라인 및 파이프라인 단계를 생성하는 방법을 학습 수 있습니다.
집계 파이프라인 구축
.NET/ C# 드라이버 사용하면 빌더 메서드 또는 BSON 문서를 통해 집계 파이프라인 빌드 할 수 있습니다. 이러한 각 접근 방식에 대해 자세히 학습 다음 섹션을 참조하세요.
빌더 메서드
다음과 같은 방법으로 형식이 안전한 집계 파이프라인 빌드 할 수 있습니다.
EmptyPipelineDefinition<TDocument>
객체 생성합니다. 이 객체 에서 관련 집계 메서드로 호출을 연결합니다. 그런 다음 파이프라인 객체IMongoCollection<TDocument>.Aggregate()
메서드에 전달합니다.IMongoCollection<TDocument>.Aggregate()
메서드를 호출합니다. 이 메서드 호출에서 관련 집계 메서드로 호출을 연결합니다.
EmptyPipelineDefinition 또는 Aggregate 탭 선택하여 각 접근 방식에 해당하는 코드를 확인합니다.
// Defines the aggregation pipeline var pipeline = new EmptyPipelineDefinition<Movie>() .Match(...) .Group(...) .Merge(...); // Executes the aggregation pipeline var results = collection.Aggregate(pipeline);
// Defines and executes the aggregation pipeline var results = collection.Aggregate() .Match(...) .Group(...) .Merge(...);
BsonDocument
일부 집계 단계에는 .NET/ C# 드라이버 에 해당 메서드가 없습니다. 이러한 단계를 파이프라인 에 추가하려면 BsonDocument
객체 또는 문자열 리터럴을 사용하여 Query API 구문으로 단계를 구성합니다. 그런 다음 BSON 문서 PipelineDefinitionBuilder.AppendStage()
메서드에 전달합니다. 이 구문은 집계 파이프라인 의 모든 단계를 지원하지만 유형 힌트나 유형 안전성은 제공하지 않습니다.
다음 코드 예시 빈 집계 파이프라인 에 $unset
단계를 추가하는 방법을 보여 줍니다.
var pipeline = new EmptyPipelineDefinition<BsonDocument>() .AppendStage<BsonDocument, BsonDocument, BsonDocument>("{ $unset: 'field1' }");
중요
BsonDocument
를 사용하여 파이프라인 단계를 정의하는 경우 운전자 BsonClassMap
속성, 직렬화 속성 또는 직렬화 규칙을 인식하지 못합니다. BsonDocument
에서 사용하는 필드 이름은 MongoDB Server 에 저장된 필드 이름과 일치해야 합니다.
애그리게이션 단계 메서드
다음 표에는 집계 파이프라인 단계에 해당하는 .NET/ C# 드라이버 의 빌더 메서드가 나열되어 있습니다. 집계 단계에 대해 자세히 학습 이에 해당하는 C# 메서드에 대한 코드 예시 보려면 MongoDB Server 매뉴얼의 단계 이름에 있는 해당 참조 페이지 링크를 클릭하세요.
집계 단계가 테이블에 없는 경우 운전자 이에 대한 빌더 메서드를 제공하지 않습니다. 이 경우 BsonDocument 구문을 사용하여 파이프라인에 단계를 추가해야 합니다.
애그리게이션 단계 | 설명 | 빌더 메서드 |
---|---|---|
지정된 표현식과 버킷 경계를 기반으로 수신 문서를 버킷이라는 그룹으로 분류합니다. |
| |
지정된 표현식을 기반으로 수신 문서를 버킷이라는 특정 수의 그룹으로 분류합니다. 버킷 경계는 지정된 수의 버킷에 문서를 고르게 분산할 수 있도록 자동으로 결정됩니다. |
| |
컬렉션 에 대한 변경 스트림 커서 반환합니다. 이 단계는 집계 파이프라인 에서 한 번만 발생할 수 있으며 첫 번째 단계로 발생해야 합니다. |
| |
16 MB를 초과하는 대규모 변경 스트림 이벤트를 변경 스트림 커서 에 반환되는 작은 조각으로 분할합니다.
|
| |
집계 파이프라인의 이 단계에 있는 문서 수를 반환합니다. |
| |
필드의 특정 값이 누락된 문서 시퀀스에서 새 문서를 만듭니다. |
| |
입력 표현식에서 리터럴 문서를 반환합니다. |
| |
동일한 입력 문서 세트의 단일 단계에서 여러 집계 파이프라인을 처리합니다. 단일 단계에서 여러 차원 또는 패싯에 걸쳐 데이터를 특성화할 수 있는 다면적 집계를 생성할 수 있습니다. |
| |
컬렉션 에 대해 재귀 검색 수행합니다. 이 메서드는 해당 문서 에 대한 재귀 검색 의 순회 결과를 포함하는 각 출력 문서 에 새 배열 필드 추가합니다. |
| |
지정된 식별자 표현식 으로 입력 문서를 그룹화하고, 지정된 경우 축적자 표현식을 각 그룹 에 적용합니다. 모든 입력 문서를 소비하고 각 고유 그룹 하나의 문서 출력합니다. 출력 문서에는 식별자 필드 와 누적된 필드(지정된 경우)만 포함됩니다. |
| |
수정되지 않은 처음 n 개의 문서를 파이프라인에 전달하며, 여기서 n 은 지정된 제한입니다. 각 입력 문서 에 대해 문서 1개(처음 n 개 문서에 대해) 또는 문서 0개(처음 n 개 문서 이후)를 출력합니다. |
| |
동일한 데이터베이스의 다른 컬렉션에 왼쪽 외부 조인을 수행하여 '조인된(joined)' 컬렉션의 문서를 필터링해 처리합니다. |
| |
일치하는 문서만 수정되지 않은 상태로 다음 파이프라인 단계로 전달될 수 있도록 문서 스트림을 필터링합니다. 각 입력 문서에서 하나의 문서(일치하는 문서) 또는 0개의 문서(일치하지 않는 문서)를 출력합니다. |
| |
집계 파이프라인 의 결과 문서를 컬렉션 에 씁니다. 이 단계에서는 (새 문서 삽입, 문서 병합, 문서 교체, 기존 문서 유지, 작업 실패, 사용자 지정 업데이트 파이프라인 으로 문서 프로세스 ) 결과를 출력 컬렉션 에 통합할 수 있습니다. 이 단계를 사용하려면 파이프라인 의 마지막 단계여야 합니다. |
| |
집계 파이프라인 의 결과 문서를 컬렉션 에 씁니다. 이 단계를 사용하려면 파이프라인 의 마지막 단계여야 합니다. |
| |
새 필드를 추가하거나 기존 필드를 제거하는 등 스트림의 각 문서 모양을 변경합니다. 각 입력 문서에 대해 하나의 문서를 출력합니다. |
| |
문서를 특정 내장된 문서로 바꿉니다. 이 작업은
|
| |
문서를 특정 내장된 문서로 바꿉니다. 이 작업은
|
| |
입력에서 지정된 수의 문서를 임의로 선택합니다. |
| |
Atlas 컬렉션에서 하나 이상의 필드에 대한 전체 텍스트 검색을 수행합니다. 이 단계는 MongoDB Atlas 클러스터에서만 사용할 수 있으며 자체 관리형 배포서버에는 사용할 수 없습니다. 자세히 학습하려면 Atlas 문서에서 Atlas Search 집계 파이프라인 단계 를 참조하세요. |
| |
Atlas 컬렉션에 대한 Atlas Search 쿼리에 대해 다양한 유형의 메타데이터 결과 문서를 반환합니다. 이 단계는 MongoDB Atlas 클러스터에서만 사용할 수 있으며 자체 관리형 배포서버에는 사용할 수 없습니다. 자세히 학습하려면 Atlas 문서에서 Atlas Search 집계 파이프라인 단계 를 참조하세요. |
| |
문서에 새 필드를 추가합니다. |
| |
문서를 창으로 그룹화하고 각 창의 문서에 하나 이상의 연산자를 적용합니다. |
| |
처음 n 개의 문서를 건너뛰고(여기서 n 은 지정된 건너뛰기 번호) 나머지 문서는 수정되지 않은 상태로 파이프라인에 전달됩니다. 각 입력 문서에 대해 문서 0개(처음 n 개 문서에 대해) 또는 문서 1개(처음 n 개 문서 이후인 경우)를 출력합니다. |
| |
지정된 정렬 키를 기준으로 문서 스트림 다시 정렬합니다. 문서는 수정되지 않은 상태로 유지됩니다. 각 입력 문서 에 대해 하나의 문서 출력합니다. |
| |
지정된 표현식의 값을 기준으로 들어오는 문서를 그룹화한 다음 각 고유 그룹의 문서 수를 계산합니다. |
| |
두 컬렉션의 파이프라인 결과를 단일 결과 설정하다 로 결합합니다. |
| |
입력 문서에서 배열 필드 분해하여 각 요소에 대한 문서 출력합니다. 각 출력 문서 배열 요소 값으로 바꿉니다. 각 입력 문서에 대해 n 문서를 출력하며, 여기서 n 은 배열 요소의 개수입니다. 빈 배열 의 경우 n 은 0일 수 있습니다. |
| |
Atlas 컬렉션의 지정된 필드에 있는 벡터에 대해 ANN 검색을 수행합니다. 이 단계는 MongoDB Atlas 클러스터에서만 사용할 수 있으며 자체 관리형 배포서버에는 사용할 수 없습니다. |
|
API 문서
집계 파이프라인 어셈블에 대해 자세히 학습하려면 MongoDB Server 매뉴얼에서 집계 파이프라인 을 참조하세요.
파이프라인 단계 생성에 학습 보려면 MongoDB Server 매뉴얼의 애그리게이션 단계 를 참조하세요.
이 페이지에 사용된 메서드 및 클래스에 대한 자세한 내용은 다음 API 설명서를 참조하세요.