Docs Menu
Docs Home
/ / /
PHP 라이브러리 매뉴얼
/ /

MongoDB\Database::aggregate()

이 페이지의 내용

  • 정의
  • 매개변수
  • Return Values
  • 오류/예외
  • 예시
  • 다음도 참조하세요.

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

MongoDB\Database::aggregate()

기본 컬렉션 이 필요하지 않은 지정된 관리/진단 파이프라인 을 실행합니다. 컬렉션 데이터에 대한 애그리게이션은 MongoDB\Collection::aggregate() 를 참조하세요.

function aggregate(
array $pipeline,
array $options = []
): Traversable
$pipeline : 배열
집계 파이프라인 작업을 지정합니다.
$options : 배열

원하는 옵션을 지정하는 배열입니다.

이름
유형
설명
allowDiskUse
부울
임시 파일에 쓰기를 활성화합니다. true로 설정하면 집계 작업에서 dbPath 디렉토리의 _tmp 하위 디렉토리에 데이터를 쓸 수 있습니다.
batchSize
integer

초기 aggregate 명령과 후속 getMore 명령 모두에 적용되는 커서의 배치 크기를 지정합니다. 이는 서버의 각 응답으로 반환할 최대 문서 수를 결정합니다.

0의 배치 크기는 초기 aggregate 명령에만 적용된다는 점에서 특별하며 후속 getMore 명령은 서버의 기본 배치 크기를 사용합니다. 이는 중요한 서버 측 작업을 수행하지 않고도 aggregate에서 커서 또는 오류를 빠르게 반환하는 데 유용할 수 있습니다.

bypassDocumentValidation
부울

true인 경우 쓰기 작업이 문서 수준 유효성 검사를 우회하도록 허용합니다. 기본값은 false입니다.

이는 $out$out 단계를 사용하는 경우에만 적용됩니다.

코덱
MongoDB\Codec\DocumentCodec

문서 인코딩 또는 디코딩에 사용하는 코덱입니다. 이 옵션은 typeMap 옵션과 상호 배타적입니다.

버전 1.17에 추가 되었습니다.

데이터 정렬
배열|객체

데이터 정렬 을 통해 사용자는 string 비교를 위한 언어별 규칙(예: 대소문자 및 악센트 표시 규칙)을 지정할 수 있습니다. 데이터 정렬을 지정할 때 locale 필드는 필수입니다. 다른 모든 데이터 정렬 필드는 선택 사항입니다. 필드에 대한 설명은 데이터 정렬 문서를 참조하세요.

comment
혼합

사용자가 데이터베이스 프로파일러, currentOp 출력 및 로그를 통해 작업을 추적하는 데 도움이 되는 임의의 주석을 지정할 수 있습니다.

댓글은 4.4 이후의 서버 버전에서 유효한 모든 BSON types이 될 수 있습니다. 이전 서버 버전에서는 문자열 값만 지원합니다.

설명합니다.
부울
파이프라인 처리에 대한 정보를 반환할지 여부를 지정합니다.
hint
문자열|배열|객체

사용할 인덱스입니다. 인덱스 이름을 문자열로 지정하거나 인덱스 키 패턴을 문서로 지정합니다. 이 옵션을 지정하면 쿼리 시스템은 힌트 인덱스를 사용하는 계획만 고려합니다.

하자
배열|객체

매개변수 이름과 값의 맵입니다. 값은 문서 필드를 참조하지 않는 상수 또는 닫힌 표현식이어야 합니다. 그런 다음 매개변수는 애그리게이션 표현식 컨텍스트에서 변수로 액세스될 수 있습니다(예: $$var).

이는 5.0 이전의 서버 버전에서는 지원되지 않으며 사용하는 경우 실행 시 예외가 발생합니다.

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

최대 시간 (MS)
integer

커서에서 작업을 처리하는 데 걸리는 누적 시간 제한(밀리초)입니다. MongoDB는 중단 지점 이후 가장 빠른 시점에 작업을 중단합니다.

readConcern

작업에 사용할 읽기 고려 입니다. 기본값은 데이터베이스의 읽기 고려입니다.

읽기 설정

작업에 사용할 읽기 설정 입니다. 기본값은 데이터베이스의 읽기 설정입니다.

Session

작업과 연결할 클라이언트 세션입니다.

typeMap
배열

유형 맵 커서에 적용하여 BSON 문서가 PHP 값으로 변환되는 방식을 결정합니다. 기본값은 데이터베이스의 유형 맵입니다.

쓰기 고려

작업에 사용할 고려를 씁니다 . 기본값은 데이터베이스의 쓰기 고려입니다.

MongoDB\Driver\Cursor 또는 ArrayIterator 객체. 두 경우 모두 반환 값은 순회 가능합니다.

MongoDB\Exception\UnexpectedValueException 서버의 명령 응답이 잘못된 경우입니다.

옵션이 사용되지만 선택한 서버에서 지원되지 않는 경우 MongoDB\Exception\UnsupportedException입니다(예: collation, readConcern, writeConcern).

MongoDB\Exception\InvalidArgumentException 매개변수 또는 옵션의 구문 분석과 관련된 오류의 경우입니다.

MongoDB\ 드라이버\Exception\RuntimeException 확장 수준의 다른 오류(예: 연결 오류).

다음 애그리게이션 예시에서는 $currentOp 집계 파이프라인 단계를 사용하여 실행 중인 명령을 모두 나열한 다음, 실행 중인 명령 작업만 표시하도록 이 목록을 필터링합니다.

<?php
$database = (new MongoDB\Client)->admin;
$cursor = $database->aggregate(
[
['$currentOp' => []],
['$match' => ['op' => 'command']],
]
);

돌아가기

__get()