$out (出力)

最終更新:2026-10-09

$out (出力)

$out は、パイプラインの結果を指定したコレクションに書き込み、以前の内容をすべて置き換えます。ターゲットがなければ自動作成されます。最終ステージでなければならず、$merge とは併用できません。コレクションレベルのロックを取り、データを完全に置き換えるため、オフラインのレポートやキャッシュテーブルに適します。$out は MongoDB 4.4 で別データベースへの書き込みに対応しました。

カテゴリ高度と診断
MongoDB バージョン1.0+
例の言語mongosh(シェル)

📝 構文

{ $out: "<collection>" }

⚙️ パラメータ

対象コレクション書き込み先コレクションの名前。

戻り値:ドキュメントは後続に流れません。結果は対象コレクションに書き込まれます

▶ 例

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

// $out: 2024 年の注文を新しいコレクションに書き出す
db.orders.aggregate([
  { $match: { year: 2024 } },
  { $out: 'orders_2024' }
])

出力:

// orders_2024 が完全に置き換えられる

📌 注意事項

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

📚 関連チュートリアル

❓ よくある質問

Q$out は既存コレクションを上書きしますか?
Aはい。コレクション全体が置き換えられます。失敗時は元のコレクションが保持されます。
Q$out と $merge はどちらを使うべきですか?
A完全な置き換えには $out、増分更新やキー単位のマージには $merge を使います。
Q$out は別のデータベースに書き込めますか?
AMongoDB 4.4 以降、'otherdb.coll' として書き込めます。
Web-Tutorial.com

Web-Tutorial 技術チーム

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

100%