정의
두 개 이상의 배열을 연결하는 단일 배열 반환합니다. $concatArrays
은 집계 축적자 또는 배열 연산자 로 사용할 수 있습니다.
집계 누산기
$concatArrays
이 단계에서는 축적자 자로 사용할 수 있습니다.
구문
집계 축적자로 사용되는 경우 $concatArrays
의 구문은 다음과 같습니다.
{ $concatArrays: "<array field>" }
행동
null
이거나 null
로 해석되는 인수는 결과에 포함됩니다. 누락된 필드 를 참조하는 인수는 결과에 포함되지 않습니다.
예시
다음 문서를 사용하여 sales
라는 이름의 샘플 collection을 생성합니다.
db.sales.insertMany( [ { _id: 1, items: [ "laptop", "tablet" ], location: "NYC" }, { _id: 2, items: [ "phone", "tablet" ], location: "NYC" }, { _id: 3, location: "NYC" }, { _id: 4, items: [ "desktop", { "accessories": [ "mouse", "keyboard"] } ], location: "NYC" } ] )
이 예시 $concatArrays
을 축적자 자로 사용하는 방법을 보여줍니다. 이 예시 location
필드 에서 그룹화할 때 모든 items
배열의 요소를 결합합니다.
db.sales.aggregate( [ { $group: { _id: "$location", array: { "$concatArrays": "$items" } } } ] )
이 연산은 다음과 같은 결과를 반환합니다.
[ { "_id": "NYC", "array": [ "laptop", "tablet", "phone", "tablet", "desktop", { "accessories": [ "mouse", "keyboard"] } ] } ]
배열 연산자
구문
$concatArrays
가 배열 연산자로 사용되는 경우 구문은 다음과 같습니다.
{ $concatArrays: [ <array1>, <array2>, ... ] }
행동
<array>
표현식은 배열로 해석되는 한 유효한 표현식 일 수 있습니다. 표현식에 대한 자세한 내용은 표현식을 참조하세요 .
인수가 null
값으로 해석되거나 누락된 필드를 참조하는 경우 $concatArrays
는 null
을 반환합니다.
예시 | 결과 | |||||
---|---|---|---|---|---|---|
|
| |||||
|
|
예시
다음 문서를 사용하여 warehouses
라는 이름의 샘플 collection을 생성합니다.
db.warehouses.insertMany( [ { _id : 1, instock: [ "chocolate" ], ordered: [ "butter", "apples" ] }, { _id : 2, instock: [ "apples", "pudding", "pie" ] }, { _id : 3, instock: [ "pears", "pecans" ], ordered: [ "cherries" ] }, { _id : 4, instock: [ "ice cream" ], ordered: [ ] } ] )
다음 예시에서는 instock
와(과) ordered
배열을 연결합니다.
db.warehouses.aggregate( [ { $project: { items: { $concatArrays: [ "$instock", "$ordered" ] } } } ] )
이 연산은 다음과 같은 결과를 반환합니다.
[ { _id : 1, items : [ "chocolate", "butter", "apples" ] }, { _id : 2, items : null }, { _id : 3, items : [ "pears", "pecans", "cherries" ] }, { _id : 4, items : [ "ice cream" ] } ]
제한 사항
$concatArrays
는 배열 로 해석되는 배열과 표현식만 지원합니다.