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

MongoDB\Collection::find()

MongoDB\Collection::find()

クエリに一致するドキュメントを検索します。

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

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

名前
タイプ
説明

allowDiskUse

ブール値

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

allowPartialResults

ブール値

For queries against a sharded collection, returns partial results from the mongos if some shards are unavailable instead of throwing an error.

batchSize

integer

クエリ結果で返される各バッチする内のドキュメントの最大数。デフォルトでは 、find コマンドの初期バッチするサイズは 101 ドキュメントで、後続の各バッチするの最大サイズは 16 メビバイト(MiB)です。このオプションを使用すると、16 MiB より小さい制限が適用できますが、超えることはありません。batchSize を、バッチが 16 MiB を超える制限に設定している場合、このオプションは効果がありません。

BatchSize が 0 の場合、カーソルは作成されますが、最初のバッチするではドキュメントは返されません。

Unlike the previous wire protocol version, a batchSize of 1 for the find command does not close the cursor.

コーデック

MongoDB\Codec\DocumentCodec

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

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

バージョン1.17の新機能。

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 locale field is mandatory; all other collation fields are optional. For descriptions of the fields, see Collation Document.

照合が指定されていないが、コレクションにデフォルトの照合がある場合、操作はコレクションに指定された照合を使用します。 コレクションにも操作にも照合が指定されていない場合、MongoDB では以前のバージョンで使用されていた単純なバイナリ比較によって string が比較されます。

comment

混合

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

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

cursorType

integer

使用するカーソルのタイプを示します。 cursorTypeは次の値をサポートしています。

  • MongoDB\Operation\Find::NON_TAILABLEデフォルト

  • MongoDB\Operation\Find::TAILABLE

hint

string|array|object

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

バージョン1.2の新機能。

let

array|object

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

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

バージョン1.13の新機能。

limit

integer

返されるドキュメントの最大数。 指定しない場合、デフォルトは制限なしになります。 0の制限は、制限を設定しない場合と同じです。

負の制限は正の制限と似ていますが、1 バッチ の結果が返された後にカーソルを閉じます。 そのため、負の制限では、制限された結果セットが 1 つのバッチに収まらない場合、受信されるドキュメントの数は指定された制限よりも少なくなります。 負の制限を渡すことにより、クライアントからサーバーに、 getMore 経由で後続のバッチ要求が実行されないことが伝えられます。

最大

array|object

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

バージョン1.2の新機能。

maxAwaitTimeMS

integer

データが利用できない場合にサーバーが getMore 操作をブロックする時間の制限をミリ秒単位で示す正の整数。 このオプションは、 cursorType が TAILABLE_WAIT の場合にのみ使用する必要があります。

バージョン1.2の新機能。

maxScan

integer

クエリを実行するときにスキャンするドキュメントまたはインデックス キーの最大数。

バージョン 1.4 から非推奨。

バージョン1.2の新機能。

maxTimeMS

integer

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

min

array|object

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

バージョン1.2の新機能。

modifiers

array|object

クエリの出力または動作を変更するメタ演算子。 これらの演算子の使用は非推奨となり、代わりに名前付きオプションが使用されます。

noCursorTimeout

ブール値

非アクティブ期間(10 分)後にサーバーがアイドル カーソルをタイムアウトしないようにします。

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)がデフォルトで設定されます。

returnKey

ブール値

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

バージョン1.2の新機能。

セッション

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

バージョン1.3の新機能。

showRecordId

ブール値

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

バージョン1.2の新機能。

スキップ

integer

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

sort

array|object

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

スナップショット

ブール値

途中の書込み操作が原因で、カーソルが複数回ドキュメントを返すのを防ぎます。

バージョン 1.4 から非推奨。

バージョン1.2の新機能。

typeMap

配列

The type map to apply to cursors, which determines how BSON documents are converted to PHP values. Defaults to the collection's type map.

MongoDBDriver\Cursorオブジェクト。

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

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).

次の例では、cuisine フィールドとborough フィールドに基づいてレストランを検索し、プロジェクションを使用して返されるフィールドを制限します。また、結果を5 ドキュメントに制限します。

<?php
$collection = (new MongoDB\Client)->test->restaurants;
$cursor = $collection->find(
[
'cuisine' => 'Italian',
'borough' => 'Manhattan',
],
[
'limit' => 5,
'projection' => [
'name' => 1,
'borough' => 1,
'cuisine' => 1,
],
]
);
foreach ($cursor as $restaurant) {
var_dump($restaurant);
};

出力は次のようになります。

object(MongoDB\Model\BSONDocument)#10 (1) {
["storage":"ArrayObject":private]=>
array(4) {
["_id"]=>
object(MongoDB\BSON\ObjectId)#8 (1) {
["oid"]=>
string(24) "576023c6b02fa9281da3f983"
}
["borough"]=>
string(9) "Manhattan"
["cuisine"]=>
string(7) "Italian"
["name"]=>
string(23) "Isle Of Capri Resturant"
}
}
object(MongoDB\Model\BSONDocument)#13 (1) {
["storage":"ArrayObject":private]=>
array(4) {
["_id"]=>
object(MongoDB\BSON\ObjectId)#12 (1) {
["oid"]=>
string(24) "576023c6b02fa9281da3f98d"
}
["borough"]=>
string(9) "Manhattan"
["cuisine"]=>
string(7) "Italian"
["name"]=>
string(18) "Marchis Restaurant"
}
}
object(MongoDB\Model\BSONDocument)#8 (1) {
["storage":"ArrayObject":private]=>
array(4) {
["_id"]=>
object(MongoDB\BSON\ObjectId)#10 (1) {
["oid"]=>
string(24) "576023c6b02fa9281da3f99b"
}
["borough"]=>
string(9) "Manhattan"
["cuisine"]=>
string(7) "Italian"
["name"]=>
string(19) "Forlinis Restaurant"
}
}
object(MongoDB\Model\BSONDocument)#12 (1) {
["storage":"ArrayObject":private]=>
array(4) {
["_id"]=>
object(MongoDB\BSON\ObjectId)#13 (1) {
["oid"]=>
string(24) "576023c6b02fa9281da3f9a8"
}
["borough"]=>
string(9) "Manhattan"
["cuisine"]=>
string(7) "Italian"
["name"]=>
string(22) "Angelo Of Mulberry St."
}
}
object(MongoDB\Model\BSONDocument)#10 (1) {
["storage":"ArrayObject":private]=>
array(4) {
["_id"]=>
object(MongoDB\BSON\ObjectId)#8 (1) {
["oid"]=>
string(24) "576023c6b02fa9281da3f9b4"
}
["borough"]=>
string(9) "Manhattan"
["cuisine"]=>
string(7) "Italian"
["name"]=>
string(16) "V & T Restaurant"
}
}