MongoDB聚合运算符:$concatArrays

文章目录

$concatArrays聚合运算符将多个数组连接为一个数组。

语法

{ $concatArrays: [ <array1>, <array2>, ... ] }
  • <array>可以是任何可以解析为数组的表达式。
  • 如果表达式解析为null或引用的字段不存在,则返回null

用法

{ $concatArrays: [
   [ "hello", " "], [ "world" ]
] }

结果为:

[ "hello", " ", "world" ]
{ $concatArrays: [
   [ "hello", " "],
   [ [ "world" ], "again"]
] }

结果为:

[ "hello", " ", [ "world" ], "again" ]

举例

warehouses集合中有下面的文档:

{ "_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: [ ] }

下面的聚合管道使用$concatArrays运算符将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" ] }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

原子星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值