$concatArrays(聚合)
定义
$concatArrays
版本 3.2 中的新增功能。
连接数组以返回连接后的数组。
$concatArrays
通过以下语法实现:{ $concatArrays: [ <array1>, <array2>, ... ] } <array>
表达式可以是任何有效的表达式,只要它们解析为大量即可。 有关表达式的更多信息,请参阅表达式。如果任一参数能解析为
null
值或引用了缺失的字段,$concatArrays
则会返回null
。
行为
例子 | 结果 | |||||
---|---|---|---|---|---|---|
|
| |||||
|
|
例子
使用以下文档创建名为 warehouses
的集合:
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" ] }