toArray() (カーソルを配列に変換)

最終更新:2026-10-09

toArray() (カーソルを配列に変換)

toArray() は find() 形式のカーソルが参照するすべてを取得し、JavaScript の配列として返します: `db.users.find({ age: { $gt: 20 } }).toArray()`。カーソルは一気に完全に消費されます。クライアント側で処理する小さな結果セットには問題ありません。巨大な結果は大量のメモリを消費するため、大規模コレクションでは forEach() によるストリーミングを推奨します。

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

📝 構文

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

戻り値:すべての結果ドキュメントの配列。

▶ 例

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

// toArray: 成人ユーザーの結果を配列に変換する
const users = db.users.find({ age: { $gte: 18 } }).toArray()
print('Total: ' + users.length)

出力:

Total: 42

📌 注意事項

📚 関連チュートリアル

❓ よくある質問

Qfind() は配列を返しますか?
Aいいえ、find() はカーソルを返します。配列にするには .toArray() を呼ぶか、forEach() などで反復します。
QtoArray はすべてのデータを一度に読み込みますか?
Aはい。すべてがクライアントのメモリに入ります。巨大な結果セットはメモリを圧迫するため、代わりに forEach() でストリーム処理してください。
QtoArray の後、カーソルを反復できますか?
Aできません。カーソルは使い果たされます。再度必要なら配列を変数に保存してください。
Web-Tutorial.com

Web-Tutorial 技術チーム

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

100%