정의
매개변수
- $filter: 배열|객체
- 쿼리할 문서를 지정하는 필터 기준
- $options: 배열
- 원하는 옵션을 지정하는 배열입니다. 이름유형설명- allowDiskUse - 부울 - 임시 파일에 쓰기를 활성화합니다. - true으로 설정되면 쿼리가- dbPath디렉토리의- _tmp하위 디렉토리에 데이터를 쓸 수 있습니다.- allowPartialResults (영문) - 부울 - 샤드 컬렉션에 대한 쿼리의 경우, 일부 샤드를 사용할 수 없는 경우 오류를 발생시키는 대신 - mongos의 부분 결과를 반환합니다.- 코덱 - MongoDB\Codec\DocumentCodec - 문서 인코딩 또는 디코딩에 사용할 유형 코덱으로 데이터를 인코딩합니다. 이 옵션은 - typeMap옵션과 상호 배타적입니다.- 기본값은 버킷의 코덱입니다. 기본값 - codec옵션의 상속이- typeMap옵션의 상속보다 우선합니다.- 버전 1.17에 추가 되었습니다. - 데이터 정렬 - 배열|객체 - 데이터 정렬 을 통해 사용자는 string 비교를 위한 언어별 규칙(예: 대소문자 및 악센트 표시 규칙)을 지정할 수 있습니다. 데이터 정렬을 지정할 때 - locale필드는 필수입니다. 다른 모든 데이터 정렬 필드는 선택 사항입니다. 필드에 대한 설명은 데이터 정렬 문서를 참조하세요.- comment - 혼합 - 사용자가 데이터베이스 프로파일러, currentOp 출력 및 로그를 통해 작업을 추적하는 데 도움이 되는 임의의 주석을 지정할 수 있습니다. - 주석은 MongoDB 4.4부터 시작하는 유효한 모든 BSON types일 수 있습니다. 이전 서버 버전에서는 문자열 값만 지원 . - hint - 문자열|배열|객체 - 사용할 인덱스입니다. 인덱스 이름을 문자열로 지정하거나 인덱스 키 패턴을 문서로 지정합니다. 이 옵션을 지정하면 쿼리 시스템은 힌트 인덱스를 사용하는 계획만 고려합니다. - 버전 1.2에 새로 추가됨. - 하자 - 배열|객체 - 매개변수 이름과 값의 맵입니다. 값은 문서 필드를 참조하지 않는 상수 또는 닫힌 표현식이어야 합니다. 그런 다음 매개변수는 애그리게이션 표현식 컨텍스트에서 변수로 액세스될 수 있습니다(예: - $$var).- 이는 5.0 이전의 서버 버전에서는 지원되지 않으며 사용하는 경우 실행 시 예외가 발생합니다. - 버전 1.13에 새로 추가되었습니다. - 최대 - 배열|객체 - 특정 인덱스에 대한 배타적 상한선 - 버전 1.2에 새로 추가됨. - 최대 시간 (MS) - integer - 커서에서 작업을 처리하는 데 걸리는 누적 시간 제한(밀리초)입니다. MongoDB는 중단 지점 이후 가장 빠른 시점에 작업을 중단합니다. - min - 배열|객체 - 특정 인덱스의 포괄적인 하한입니다. - 버전 1.2에 새로 추가됨. - 프로젝션 - 배열|객체 - 반환된 문서에 포함할 필드를 결정하는 프로젝션 사양 입니다. MongoDB 매뉴얼의 쿼리에서 반환할 프로젝트 필드 및 프로젝션 연산자 를 참조하세요. - readConcern - 읽기 설정 - 작업에 사용할 읽기 설정 입니다. 기본값은 버킷의 읽기 설정 (read preference) 입니다. - returnKey - 부울 - 참이면 결과 문서의 인덱스 키만 반환합니다. - 버전 1.2에 새로 추가됨. - Session - 작업과 연결할 클라이언트 세션입니다. - 버전 1.3에 새로 추가되었습니다. - showRecordId - 부울 - 각 문서에 대한 레코드 식별자를 반환할지 여부를 결정합니다. 참이면 반환된 문서에 - $recordId필드를 추가합니다.- 버전 1.2에 새로 추가됨. - 건너뛰기 - integer - 건너뛸 문서 수입니다. 기본값은 - 0입니다.- sort - 배열|객체 - 결과의 순서를 지정하는 정렬 사양입니다. - typeMap - 배열 - 커서에 적용 할 유형 맵에 따라 BSON 문서가 PHP 값으로 변환되는 방식이 결정됩니다. 기본값은 버킷의 유형 맵입니다. - 반환된 결과 문서에 사용됩니다. 
Return Values
쿼리와 일치하는 첫 번째 문서 의 배열 또는 객체이며, 쿼리와 일치하는 문서가 없는 경우 null 입니다. 반환 유형은 typeMap 옵션에 따라 달라집니다.
오류/예외
옵션이 사용되지만 선택한 서버에서 지원되지 않는 경우 MongoDB\Exception\UnsupportedException입니다(예: collation, readConcern, writeConcern).
MongoDB\Exception\InvalidArgumentException 매개변수 또는 옵션의 구문 분석과 관련된 오류의 경우입니다.
확장 수준의 기타 오류에 대한MongoDB\ 드라이버\Exception\RuntimeException (예: 연결 오류).
행동
쿼리 기준을 평가할 때 MongoDB BSON types에 대한 자체 비교 규칙에 따라 유형과 값을 비교하며, 이는 PHP의 비교 및 유형 저글링 규칙과 다릅니다. 특수 BSON types와 일치하는 경우 쿼리 기준은 확장에서 해당 BSON 클래스를 사용해야 합니다(예: MongoDB\BSON\ObjectId 를 사용하여 ObjectId와 일치시킵니다).
예시
$bucket = (new MongoDB\Client)->test->selectGridFSBucket(); $stream = fopen('php://temp', 'w+b'); fwrite($stream, "foobar"); rewind($stream); $bucket->uploadFromStream('b', $stream); $fileDocument = $bucket->findOne(     ['length' => ['$lte' => 6]],     [         'projection' => [             'filename' => 1,             'length' => 1,             '_id' => 0,         ],         'sort' => ['length' => -1],     ] ); var_dump($fileDocument); 
이 경우 출력은 다음과 유사합니다:
object(MongoDB\Model\BSONDocument)#3004 (1) {   ["storage":"ArrayObject":private]=>   array(2) {     ["filename"]=>     string(1) "b"     ["length"]=>     int(6)   } }