find() (ドキュメントのクエリ)

最終更新:2026-10-09

find() (ドキュメントのクエリ)

find() は条件に一致するドキュメントをクエリし、カーソル(Cursor)を返します。最も基本的な読み取りメソッドで、第1引数がクエリの述語、第2引数が返すフィールドを制御するプロジェクションです。カーソルは遅延評価され、データは反復処理(toArray/forEach/next)した時点で取得されます。

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

📝 構文

db.<collection>.find(<query>, <projection>)

⚙️ パラメータ

クエリ条件クエリ演算子をサポートする述語オブジェクト。省略時はすべてに一致します。
射影任意。返すフィールドを制御します: 1=含める / 0=除外する。

戻り値:カーソル

▶ 例

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

// find: 20歳より上のユーザーを名前のみ取得する
const cursor = db.users.find(
  { age: { $gt: 20 } },
  { name: 1, age: 1, _id: 0 }
)
cursor.forEach(u => print(u.name))

出力:

Alice
Bob

📌 注意事項

📚 関連チュートリアル

❓ よくある質問

Qfind() は配列を返しますか?
Aいいえ、カーソルを返します。配列が必要な場合は .toArray() で変換(または反復)してください。
Qfind() は何を返しますか?
Afind() は配列ではなくカーソルを返します。toArray() で変換するか、forEach/next で反復します。カーソルは遅延評価され、読み進めるたびにサーバーからドキュメントを取得します。
Qfind() の第2引数は何をしますか?
Aプロジェクションです。1 はフィールドを含め、0 は除外します(混在は _id のみ許可)。ネットワークのペイロードと結果サイズを減らすために使います。
Web-Tutorial.com

Web-Tutorial 技術チーム

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

100%