$concatArrays (配列の連結)

最終更新:2026-10-09

$concatArrays (配列の連結)

$concatArrays は 2 つ以上の配列を連結して 1 つの新しい配列にします。タグリストの統合、履歴レコードの結合、ページングデータの連結などによく使われます。すべての引数が配列に解決される必要があり、いずれかが null または欠落していると結果全体が null になります。元の配列を変更せず新しい配列を返すため、$addFields や $project でのフィールド構築に最適です。文字列だけを連結する $concat とは違い、$concatArrays は配列のみを扱います。

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

📝 構文

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

⚙️ パラメータ

配列マージする配列式。少なくとも2つ。

戻り値:マージされた新しい配列。いずれかの引数が null または欠落している場合は null

▶ 例

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

// $concatArrays: タグと別名を統合
db.products.aggregate([
  { $project: {
      allTags: { $concatArrays: ['$tags', '$aliases'] }
  } }
])

出力:

{ '_id': 1, 'allTags': [ 'a', 'b', 'c', 'd' ] }

📌 注意事項

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

📚 関連チュートリアル

❓ よくある質問

Q$concatArrays は文字列を連結できますか?
Aいいえ — 配列のみを受け付けます。文字列の連結には $concat を使うか、先に配列へ分割してください。
Q引数が null の場合は?
A結果全体が null になります。$ifNull で空配列に置き換えてください。
Q$push との違いは?
A$push は $group 内で要素を蓄積します。$concatArrays は式の中の既存配列を連結します。
Web-Tutorial.com

Web-Tutorial 技術チーム

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

100%