AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
Docs Menu

MongoDB\GridFS\Bucket::findOne()

MongoDB\GridFS\Bucket::findOne()

쿼리와 일치하는 GridFS 버킷의 파일 collection에서 단일 문서를 찾습니다.

function findOne(
array|object $filter = [],
array $options = []
): array|object|null
$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 concern) 입니다.

트랜잭션 의 일부로 개별 작업에 대한 읽기 고려 (read concern) 지정할 수 없습니다. 대신 트랜잭션시작할 때 옵션을 readConcern 설정하다 .

읽기 설정

작업에 사용할 읽기 설정 입니다. 기본값은 버킷의 읽기 설정 (read preference) 입니다.

returnKey

부울

참이면 결과 문서의 인덱스 키만 반환합니다.

버전 1.2에 추가 되었습니다.:

Session

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

버전 1.3에 추가 되었습니다.:

showRecordId

부울

각 문서에 대한 레코드 식별자를 반환할지 여부를 결정합니다. 참이면 반환된 문서에 $recordId 필드를 추가합니다.

버전 1.2에 추가 되었습니다.:

건너뛰기

integer

건너뛸 문서 수입니다. 기본값은 0입니다.

sort

배열|객체

결과의 순서를 지정하는 정렬 사양입니다.

typeMap

배열

커서에 적용 할 유형 맵에 따라 BSON 문서가 PHP 값으로 변환되는 방식이 결정됩니다. 기본값은 버킷의 유형 맵입니다.

반환된 결과 문서에 사용됩니다.

쿼리와 일치하는 첫 번째 문서 의 배열 또는 객체이며, 쿼리와 일치하는 문서가 없는 경우 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와 일치시킵니다).

<?php
$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)
}
}