$documents (リテラルドキュメント)

最終更新:2026-10-09

$documents (リテラルドキュメント)

$documents は、コレクションを読まずに、指定したリテラルドキュメントの配列をそのまま返します — パイプラインへのリテラル入力です。先頭ステージでなければならず、テストデータの用意や定数に対する式の実行に便利です。各ドキュメントは変更されずにそのまま通ります。

カテゴリコアステージ
MongoDB バージョン5.2+
例の言語mongosh(シェル)

📝 構文

{ $documents: [ { <doc1> }, { <doc2> }, ... ] }

⚙️ パラメータ

ドキュメント配列出力するリテラルドキュメントのリスト。

戻り値:リテラルのドキュメントストリーム

▶ 例

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

// $documents: リテラルデータで式を検証
db.aggregate([
  { $documents: [{ x: 1 }, { x: 2 }] },
  { $addFields: { y: { $add: ['$x', 1] } } }
])

出力:

{ "x": 1, "y": 2 }
{ "x": 2, "y": 3 }

📌 注意事項

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

📚 関連チュートリアル

❓ よくある質問

Q$documents はパイプライン途中に置けますか?
Aいいえ。先頭でなければならず、他のステージはその後ろに置きます。
Q$documents は何のために使いますか?
Amongosh で実コレクションなしにテストデータを作り、集計式を検証するためです。
Qdb.aggregate と db.coll.aggregate の違いは?
Adb.aggregate はコレクションなしで実行し、先頭ステージは $documents や $currentOp のような特殊なものに限られます。
Web-Tutorial.com

Web-Tutorial 技術チーム

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

100%