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;
コレクション内のすべてのドキュメントを取得するには 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 );
}
?>
$id
はドキュメントの _id
フィールドで、
$value
はドキュメントそのものです。
MongoCollection::find() の API ドキュメントに、 データの検索に関する詳細な情報があります。
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;