私はmongoDB PHPを使用しています。検索クエリまたは集計フレームワークを使用すると、結果はカーソルになり、foreachループまたはwhileループを使用してカーソルを反復処理できます。たとえば、実行する次のクエリがあります
$result = $collection->find();
次の2つの方法を使用して、結果を反復処理できます
1- foreach($result as $mongoid => $doc) {
echo "mongoid is " . $mongoid;
print_r($doc);
}
2- while ( $result->hasNext() ) {
$doc = $result->getNext();
$result->next();
print_r( $doc );
echo "find one doc in cursor\n";
}
上記の反復方法のどれが最適で、その理由は何ですか?