(PECL mongo >=1.0.11)
MongoCursor::batchSize — ひとつの結果セットで返す結果の数を設定する
これは、クライアントに返すデータの量に関する MongoDB 側の制限を上書きすることはできません (つまり、たとえバッチサイズを 1,000,000,000 にしたとしても、MongoDB が返す結果は 4-16MB にしかならないということです)。
一貫性を確保するために、batchSize と limit の挙動は多少複雑になっていますが、 「期待通りに」動作します。規則としては、MongoCursor::limit() や MongoCursor::batchSize() で設定したソフトリミットを ハードリミットが上書きするということです。 その後、設定されている値のうち小さいほうが優先されます。 以下に例を示します。
<?php
// ひとつのバッチで最大 20 件
$cursor->limit(-20)->batchSize(10);
// ひとつのバッチで最大 10 件
$cursor->limit(20)->batchSize(-10);
// 最初のバッチ。最大 10 件
$cursor->limit(10);
// 最初のバッチ。最大 10 件
$cursor->limit(10)->batchSize(20);
// 最初のバッチ。最大 10 件
$cursor->limit(20)->batchSize(10);
$cursor->limit(30)->batchSize(7)
// 28 件目まで処理を進めると、次に getNext() をコールしたときにデータベースと通信し、
// 2 件のドキュメントを含むバッチを要求します
?>
次のバッチで返す結果の数。
このカーソルを返します。
このカーソルの反復処理が始まっている場合に MongoCursorException をスローします。 この挙動は 1.0.12 からは変わり、いつでもこのメソッドがコールできるようになります。