カーソルを使った全ドキュメントの取得

コレクション内のすべてのドキュメントを取得するには MongoCollection::find() を使います。 find() メソッドは MongoCursor オブジェクトを返し、 これを使うとクエリにマッチしたドキュメントすべてに対する反復処理ができるようになります。 では、すべてのドキュメントを取得して表示させてみましょう。

<?php
$connection 
= new MongoClient();
$collection $connection->database->collectionName;

$cursor $collection->find();
foreach ( 
$cursor as $id => $value )
{
    echo 
"$id: ";
    
var_dump$value );
}
?>
これは、コレクション内の全 101 ドキュメントを表示します。 $id はドキュメントの _id フィールドで、 $value はドキュメントそのものです。

参考

MongoCollection::find() の API ドキュメントに、 データの検索に関する詳細な情報があります。

add a note add a note

User Contributed Notes 1 note

up
0
mike at brenden dot com
10 years ago
Instead of running while() or foreach() over a Mongo cursor, get all results from cursor into array:

$curs = $Mdb->tbl->find();
$arrOut = iterator_to_array( $curs, false );  // false uses numeric index.
return $arrOut;
To Top