batchSize() (バッチ取得サイズの設定)

最終更新:2026-10-09

batchSize() (バッチ取得サイズの設定)

batchSize() はカーソルがサーバーから1バッチあたりに取得するドキュメント数を設定します: `db.users.find().batchSize(100)`。ラウンドトリップとメモリのトレードオフです。バッチが大きいほどリクエスト数は減りますが、バッチあたりのメモリが増えます。通常はサーバーのデフォルトで十分です。遅いリンクや巨大な結果セットでは、batchSize の調整がスループット向上に役立ちます。

カテゴリカーソル
MongoDB バージョン1.0+
例の言語mongosh(シェル)

📝 構文

db.<collection>.find(<filter>).batchSize(<size>)

⚙️ パラメータ

数バッチあたりのドキュメント数。0 で既定値に戻ります。

戻り値:バッチサイズを適用したカーソル(チェーン可能)。

▶ 例

以下のコマンドをローカルの mongosh で実行してください(mongod が起動済みである必要があります):

// batchSize: 1バッチ50件でストリーム処理しながら取得する
const cursor = db.users.find().batchSize(50)
cursor.forEach(doc => print(doc.name))

出力:

Alice
Bob
Cara

📌 注意事項

さらなる実践ケースを近日公開予定。

📚 関連チュートリアル

❓ よくある質問

Qどの batchSize を使うべきですか?
A通常はデフォルトで十分です。高速ネットワークではラウンドトリップ削減のため上げ、メモリが逼迫しているときは下げます。
QbatchSize と limit はどう違いますか?
Alimit() は返されるドキュメントの総数を制限します。batchSize() は転送チャンクサイズだけを制御し、総数は変わりません。
QbatchSize(0) は何を意味しますか?
A0 はサーバーのデフォルトのバッチサイズに戻します。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%