$concatArrays (配列結合)

最終更新:2026-10-09

$concatArrays (配列結合)

$concatArrays は、複数の配列を重複除去せずに 1 つに結合します。配列演算として $project や $addFields でよく使われ、MongoDB 8.1 以降は $group のアキュムレータとしても機能し、グループ全体の配列フィールドを連結します。$setUnion と違い、重複は保持されます。

カテゴリアキュムレータ
MongoDB バージョン1.0+
例の言語mongosh(シェル)

📝 構文

{ $concatArrays: [ <array1>, <array2>, ... ] }

戻り値:すべての入力配列を連結した新しい配列(重複は保持)

▶ 例

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

// $concatArrays: $project でタグを追加
db.products.aggregate([
  { $project: { allTags: { $concatArrays: ['$tags', ['hot']] } } }
])

出力:

{ "_id": 1, "allTags": ["a", "b", "hot"] }

📌 注意事項

📚 関連チュートリアル

❓ よくある質問

Q$concatArrays は重複を除去しますか?
Aいいえ。重複が必要な場合は $setUnion を使います。
Q入力が配列でない場合は?
Aエラーになります。全入力が配列である必要があります。先に $isArray で確認します。
Q$group のアキュムレータとして使えますか?
AMongoDB 8.1 以降は使えます。グループ全体の配列フィールドを連結します。
Web-Tutorial.com

Web-Tutorial 技術チーム

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

100%