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

最終更新:2026-10-09

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

find は MongoDB のクエリコマンドです。mongosh では通常 db.collection.find(filter, projection) のヘルパーを使います。生の形式は db.runCommand({ find: 'orders', filter: {...} }) です。filter、projection、sort、limit、skip、batchSize をサポートします。結果はカーソルで、id が 0 以外なら以降のバッチに getMore が必要です。

カテゴリ管理コマンド
MongoDB バージョン1.0+
例の言語mongosh(シェル)

📝 構文

db.orders.find({ status: "shipped" }).limit(10)
db.runCommand({
  find: "orders",
  filter: { status: "shipped" },
  limit: 10
})

⚙️ パラメータ

filterクエリ述語のドキュメント。
projectionフィールド選択(1=含める / 0=除外する)。
sort/limit/skipソート順、結果上限、スキップ。

戻り値:カーソルを返します。firstBatch にマッチを保持し、id が 0 以外の場合は getMore で追加バッチを取得します

▶ 例

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

// find: 生コマンド形式
use shop
db.runCommand({
  find: 'orders',
  filter: { status: 'shipped' },
  sort: { createdAt: -1 },
  limit: 5
})

出力:

{ cursor: { firstBatch: [ { _id: ObjectId('...'), status: 'shipped' } ], id: 0, ns: 'shop.orders' }, ok: 1 }

📌 注意事項

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

📚 関連チュートリアル

❓ よくある質問

QfindOne と find の関係は?
AfindOne は find に limit: 1 を付けて最初のドキュメントを返すラッパーです。
Qカーソルの結果をすべて取得するには?
AtoArray() を呼ぶか反復します。id が 0 以外ならドライバが自動で getMore を発行します。
Qクエリの性能はどう確認しますか?
Aexplain() を実行し、インデックス使用状況と executionStats を確認します。
Web-Tutorial.com

Web-Tutorial 技術チーム

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

100%