hasNext() (次のドキュメントの有無の確認)

最終更新:2026-10-09

hasNext() (次のドキュメントの有無の確認)

hasNext() はカーソルにまだ次のドキュメントがあるかを報告します: `while (db.users.find().hasNext()) { ... }`。カーソルを進めずに確認し、終端では false を返します。安全な反復のため next() と組み合わせる標準的な方法です。カーソルループを駆動する定番です。

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

📝 構文

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

戻り値:ブール値。次のドキュメントが存在する場合は true、尽きている場合は false。

▶ 例

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

// hasNext: カーソル全体を安全に反復する
const cursor = db.users.find({ age: { $gte: 18 } })
while (cursor.hasNext()) {
  print(cursor.next().name)
}

出力:

Alice
Bob
Cara

📌 注意事項

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

📚 関連チュートリアル

❓ よくある質問

QhasNext と next はどう連携しますか?
A古典的なループ: while (cursor.hasNext()) { const doc = cursor.next() }。先に確認してから取得します。
QhasNext はカーソルを消費しますか?
Aいいえ。確認するだけで、カーソルの位置は変わりません。
Q空のカーソルで hasNext は何を返しますか?
Afalse を返します。ループ本体は実行されず、エラーも発生しません。
Web-Tutorial.com

Web-Tutorial 技術チーム

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

100%