AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

MongoDB\GridFS\Bucket::findOne()

MongoDB\GridFS\Bucket::findOne()

GridFS バケットのファイル コレクションからクエリに一致する単一のドキュメントを検索します。

function findOne(
array|object $filter = [],
array $options = []
): array|object|null
$filter : array|object
クエリするドキュメントを指定するフィルター条件。
$options : 配列

必要なオプションを指定する配列。

名前
タイプ
説明

allowDiskUse

ブール値

一時ファイルへの書込みを有効にします。 trueに設定すると、クエリはdbPathディレクトリの_tmpサブディレクトリにデータを書込むことができます。

allowPartialResults

ブール値

シャーディングされたコレクションに対するクエリでは、エラーがスローされる代わりにシャードが使用できない場合に、mongos から部分的な結果を返します。

コーデック

MongoDB\Codec\DocumentCodec

ドキュメントのエンコードまたはデコードに使用する タイプ コーデック でデータをエンコードする。このオプションは typeMap オプションと相互に排他的です。

デフォルトはバケットのコーデック。 デフォルトのcodecオプションの継承は、 typeMapオプションの継承よりも優先されます。

バージョン1.17の新機能。

collation

array|object

照合順序を指定すると、大文字や小文字、アクセント記号など、string を比較するための言語独自のルールを指定できます。照合を指定する場合、locale フィールドは必須です。その他の照合フィールドはすべてオプションです。フィールドの説明については、 「照合ドキュメント」 を参照してください。

comment

混合

データベースプロファイラ、 currentOp出力、およびログから操作を追跡するのに役立つ任意のコメントを指定できるようにします。

コメントには、 MongoDB 4.4 以降の有効なBSONタイプであればどれでもかまいません。以前のサーバーバージョンでは string 値のみがサポートされていました。

hint

string|array|object

使用するインデックス。 インデックス名を string またはインデックス キー パターンをドキュメントとして指定します。 指定すると、クエリ システムはヒント指定したインデックスを使用するプランのみを考慮します。

バージョン1.2の新機能。

let

array|object

パラメーター名と値のマップ。 値は、ドキュメント フィールドを参照しない定数または閉じた式である必要があります。 その後、パラメーターには 集計式コンテキスト で変数としてアクセスできます(例: $$var )。

これは 5.0 より前のサーバー バージョンではサポートされていないため、使用された場合は実行時に例外が発生します。

バージョン1.13の新機能。

最大

array|object

特定のインデックスの排他的上限。

バージョン1.2の新機能。

maxTimeMS

integer

カーソルに対する情報処理操作の累積時間制限(ミリ秒単位)。MongoDB は、割り込みポイントの後の最も早く操作を中止します。

min

array|object

特定のインデックスの包括的下限。

バージョン1.2の新機能。

プロジェクション

array|object

返される文書に含めるフィールドを決定するためのプロジェクション仕様。 MongoDB マニュアルの「 クエリ 演算子および プロジェクション 演算子 から返されるプロジェクト フィールド 」を 参照してください。

ReadConcern

操作に使用する読み取り保証。 デフォルトはバケットの読み取り保証 (read concern) です。

トランザクションの一部である個々の操作に対して読み取り保証 (read concern)を指定することはできません。代わりに、トランザクションを開始するときにreadConcern オプションを設定します。

readPreference

Read preference to use for the operation. デフォルトでは、バケットの読み込み設定(read preference)に設定されます。

returnKey

ブール値

trueの場合、結果のドキュメントに含まれるインデックス キーのみを返します。

バージョン1.2の新機能。

セッション

操作に関連付けるクライアント セッション。

バージョン1.3の新機能。

showRecordId

ブール値

各ドキュメントのレコード識別子を返すかどうかを決定します。 true の場合、返されるドキュメントにフィールド$recordIdが追加されます。

バージョン1.2の新機能。

スキップ

integer

スキップするドキュメントの数。デフォルトは 0 です。

sort

array|object

結果の順序の並び替え指定。

typeMap

配列

カーソルに適用する 型マップ。これにより BSON ドキュメントが PHP 値に変換される方法が決定されます。デフォルトではバケットの型マップになります。

これは返された結果ドキュメントに使用されます。

nullクエリに一致した最初のドキュメントの配列またはオブジェクト。クエリに一致するドキュメントがない場合は 。戻り値の型は、typeMap オプションによって異なります。

MongoDB\Exception\UnsupportedExceptionオプションが使用され、選択したサーバーでサポートされていない場合(例: collation 、 readConcern 、 writeConcern )。

MongoDB\Exception\InvalidArgumentException は、パラメータまたはオプションの解析に関連するエラーの場合は です。

MongoDB$Driver\Exception\RuntimeException は、拡張レベルの他のエラーの場合(例:)。

クエリ条件を評価する際、MongoDB は独自の BSON types の比較ルール に従って型と値を比較します。これは PHP の 比較 および type juggling ルールとは異なります。特殊な BSON type に一致させる場合、クエリ条件では拡張機能の対応する 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)
}
}