(PECL mongo >=0.9.0)
MongoCollection::find — コレクションに問い合わせる
検索したいフィールド。
返される結果のフィールド。
検索結果のカーソルを返します。
例1 MongoCollection::find() の例
この例は、範囲指定検索の方法を示します。
<?php
// 5 < x < 20 であるドキュメントを検索します
$rangeQuery = array('x' => array( '$gt' => 5, '$lt' => 20 ));
$cursor = $collection->find($rangeQuery);
?>
カーソルの挙動についての詳細な情報は MongoCursor を参照ください。
例2 MongoCollection::find() での $where の使用例
この例は、コレクションの検索に javascript コードを使って結果セットを小さくする方法を示します。
<?php
$collection = $db->my_db->articles;
$js = "function() {
return this.type == 'homepage' || this.featured == true;
}";
$articles = $collection->find(array('$where' => $js));
?>
例3 MongoCollection::find() での $in の使用例
この例は、コレクションの検索に $in 演算子を使う方法を示します。
<?php
$collection = $db->my_db->articles;
$articles = $collection->find(array(
'type' => array('$in' => array('homepage', 'editorial'))
));
?>
例4 配列形式での結果の取得
このメソッドは MongoCursor を返します。 しかし、配列形式のほうが使いやすいという人もいるでしょう。 カーソルを配列に変換するには iterator_to_array() 関数を使います。
<?php
$cursor = $collection->find();
$array = iterator_to_array($cursor);
?>
iterator_to_array() を使うと、結果全体をメモリに展開することになります。 メモリサイズを超える結果セットではこれを使わないでください!
また、一部のシステムコレクションには _id フィールドを持たないものがあります。_id がないドキュメントを含むかもしれないコレクションを扱う場合は、 iterator_to_array() の二番目の引数に FALSE を渡します (そうすれば、存在しない _id の値をキーとして使うことがなくなります)。
MongoDB コアドキュメントの » find を参照ください。