tryNext() (次のドキュメントの試行取得)

最終更新:2026-10-09

tryNext() (次のドキュメントの試行取得)

tryNext() はカーソルの次のドキュメントの取得を試み、終端では投げる代わりに null を返します: `const doc = db.users.find().tryNext()`。使い果たしでエラーになる next() と異なり、tryNext() は反復コードを安全かつ簡潔に保ちます。条件付きループやフォールトトレラントな読み取りに最適です。

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

📝 構文

db.<collection>.find(<filter>).tryNext()

戻り値:次のドキュメント。カーソルが尽きている場合は null。

▶ 例

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

// tryNext: hasNext なしの安全な反復
const cursor = db.users.find()
let doc
while ((doc = cursor.tryNext()) !== null) {
  print(doc.name)
}

出力:

Alice
Bob
Cara

📌 注意事項

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

📚 関連チュートリアル

❓ よくある質問

QtryNext と next の違いは?
A終端で next() はエラーを投げ、tryNext() は null を返します。後者の方がより安全に反復できます。
QtryNext は hasNext を置き換えられますか?
A置き換えられます。while ((doc = cursor.tryNext()) !== null) パターンは hasNext() なしで安全に反復します。
QtryNext が null を返すのは終端を意味しますか?
Aはい。null はカーソルを使い果たしたことを示し、ループは停止すべきです。
Web-Tutorial.com

Web-Tutorial 技術チーム

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

100%