maxTimeMS() (時間制限の設定)

最終更新:2026-10-09

maxTimeMS() (時間制限の設定)

maxTimeMS() はカーソル操作が実行できる時間をミリ秒単位で制限します: `db.users.find().maxTimeMS(5000)`。制限を超えるとサーバーは操作を中断してエラーを投げます。遅いクエリがリソースを占有するのを防ぐガードです。サーバー側のハードタイムアウトであり、ドライバ側のソケットタイムアウトとは異なります。

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

📝 構文

db.<collection>.find(<filter>).maxTimeMS(<ms>)

⚙️ パラメータ

ミリ秒最大実行時間(ミリ秒単位)。

戻り値:時間制限を適用したカーソル(チェーン可能)。

▶ 例

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

// maxTimeMS: クエリを5秒に制限する
const result = db.users.find()
  .maxTimeMS(5000)
  .toArray()
result.length

出力:

1000

📌 注意事項

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

📚 関連チュートリアル

❓ よくある質問

QmaxTimeMS を超えるとどうなりますか?
Aサーバーが操作を終了させ、タイムアウトエラーを投げます。try/catch で捕捉してください。
QmaxTimeMS の単位は?
Aミリ秒です。maxTimeMS(1000) は最大1秒を意味します。
QmaxTimeMS はドライバのタイムアウトと同じですか?
Aいいえ。maxTimeMS は操作を終了させるサーバー側のハードリミットです。ドライバのタイムアウトはクライアントが待つのを止めるだけです。
Web-Tutorial.com

Web-Tutorial 技術チーム

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

100%