|
MongoCursor::addOptionトップレベルの キー/値 のペアをクエリに追加する 説明
public MongoCursor MongoCursor::addOption
( string
$key
, mixed $value
)これは高度な関数なので、今何をしているのかをわかっている人以外は使ってはいけません。 ソートやヒントなどの他のオプションを指定する場合は、クエリを "query" フィールドに書くこともできます。 たとえばソートを追加した場合は、 クエリは次のようにサブフィールドのひとつとなります。
<?php このメソッドは、トップレベルのフィールドをクエリに追加します。 クエリにサブオブジェクトを作成 (まだ存在しない場合) し、 指定した キー/値 のペアをトップレベルに追加します。 警告
クエリにその場で条件を追加するという目的で使うことはできません。たとえば、 これは正しく動作しません。
<?php パラメータ
返り値このカーソルを返します。 エラー / 例外カーソルの反復処理が始まっている場合は MongoCursorException をスローします。 例例1 MongoCursor::addOption によるコメントの追加の例 MongoDB は、サーバーに送る特別なオプションをサポートしています。 シェルの _addSpecial オプションを使うと、 $comment をサーバーに送信します。 このコメントは、プロファイリングログ (遅いクエリのログなど) に表示されます。 PHP ドライバでは、 MongoCursor::addOption メソッドを利用します。
<?php 上の例の出力は、 たとえば以下のようになります。 { "op" : "query", "ns" : "demo.demo", "query" : { "$query" : { }, "$comment" : "This comment will show up in the profiling log" }, "cursorid" : 168463566447, "ntoreturn" : 0, "ntoskip" : 0, "nscanned" : 101, "nscannedObjects" : 101, "keyUpdates" : 0, "numYield" : 0, … 例2 MongoCursor::addOption の例 MongoCursor::skip を使って何百万件もの結果をスキップすると、 処理速度が低下します。これを回避する方法のひとつが、クエリのオプション $min あるいは $max を使うことです。 これらは便利ですが、検索するフィールドにインデックスがなければなりません。 この例は、$min を MongoCursor::skip の代替として使う方法を示します。
<?php |