定義
パラメーター
$filter: array|object- クエリするドキュメントを指定するフィルター条件。
$options: 配列必要なオプションを指定する配列。
名前タイプ説明allowDiskUse
ブール値
一時ファイルへの書込みを有効にします。
trueに設定すると、クエリはdbPathディレクトリの_tmpサブディレクトリにデータを書込むことができます。allowPartialResults
ブール値
For queries against a sharded collection, returns partial results from the
mongosif some shards are unavailable instead of throwing an error.コーデック
MongoDB\Codec\DocumentCodec
collation
array|object
Collation allows users to specify language-specific rules for string comparison, such as rules for lettercase and accent marks. When specifying collation, the
localefield is mandatory; all other collation fields are optional. For descriptions of the fields, see Collation Document.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の新機能。
maxScan
integer
クエリを実行するときにスキャンするドキュメントまたはインデックス キーの最大数。
バージョン 1.4 から非推奨。
バージョン1.2の新機能。
maxTimeMS
integer
カーソルに対する情報処理操作の累積時間制限(ミリ秒単位)。MongoDB は、割り込みポイントの後の最も早く操作を中止します。
min
array|object
特定のインデックスの包括的下限。
バージョン1.2の新機能。
modifiers
array|object
クエリの出力または動作を変更するメタ演算子。 これらの演算子の使用は非推奨となり、代わりに名前付きオプションが使用されます。
oplogRePlay
ブール値
レプリカセットの内部使用。
oplogReplayを使用するには、フィルターに次の条件を含める必要があります。{ ts: { $gte: <timestamp> } } MongoDB\ BSON\Timestampクラス参照では、 MongoDB のBSONタイムスタンプ型をPHPで表現する方法について説明します。
バージョン 1.7 から非推奨。
プロジェクション
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
配列
The type map to apply to cursors, which determines how BSON documents are converted to PHP values. Defaults to the bucket's type map.
これは返された結果ドキュメントに使用されます。
Return Values
An array or object for the first document that matched the query, or null if no document matched the query. The return type will depend on the typeMap option.
エラーと例外
MongoDB\Exception\UnsupportedExceptionオプションが使用され、選択したサーバーでサポートされていない場合(例: collation 、 readConcern 、 writeConcern )。
MongoDB\Exception\InvalidArgumentException は、パラメータまたはオプションの解析に関連するエラーの場合は です。
MongoDB$Driver\Exception\RuntimeException は、拡張レベルの他のエラーの場合(例:)。
動作
When evaluating query criteria, MongoDB compares types and values according to its own comparison rules for BSON types, which differs from PHP's comparison and type juggling rules. When matching a special BSON type the query criteria should use the respective BSON class in the extension (e.g. use MongoDB\BSON\ObjectId to match an 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) } }