MongoDB $concatArrays Operator
MongoDB provides different types of array expression operators that are used in the aggregation pipeline stages and $concatArrays operator is one of them. This operator is used to concatenate two or more arrays and return a concatenated array.
Syntax:
{ $concatArrays: [ <array1>, <array2>, ... <arrayN>] }
Here, the array must be a valid expression until it resolves to an array. If the argument of this operator is a missing field or the argument resolve to a null value, then this operator will give null.
Examples:
In the following examples, we are working with:
Database: w3wiki
Collection: arrayExample
Document: three documents that contain the details in the form of field-value pairs.
Using $concatArrays Operator:
In this example, we are going to concatenate the values(i.e., arrays) of numbers1 and numbers2 fields using $concatArrays operator.
db.arrayExample.aggregate([ ... {$match: {name: "Lolo"}}, ... {$project: { ... concatResult: {$concatArrays: ["$numbers1", "$numbers2"]}}}])
In this example, we are going to concatenate the values(i.e., arrays) of fruits and veggie fields using $concatArrays operator.
db.arrayExample.aggregate([ ... {$match: {name: "Bongo"}}, ... {$project: {concatResult: ... {$concatArrays: ["$fruits", "$veggie"]}}}])
Using $concatArrays Operator in the Embedded Document:
In this example, we are going to concatenate the value(i.e., array) of favGame.indoorGames field with the specified array(i.e., [“Uno”, “Snooker”]) using $concatArrays operator.
db.arrayExample.aggregate([{$match: {name: "Piku"}}, ... {$project: {concatResult: { ... $concatArrays: ["$favGame.indoorGames", ["Uno", "Snooker"]]}}}])