将结果数组从结果投影到数组数组中

时间:2016-08-25 10:56:35

标签: mongodb aggregation-framework

我有一个mongodb查询,它以下列格式生成数据

[{"_id":1471424941,"value":[1444,0]},{"_id":1471424941,"value":[1444,0]}]

我想将结果转换为

[[1471424941, 1444,0],[1471424941, 1444,0]]

使用聚合方法可以实现吗?我想避免使用Javascript进行转换,并希望尽可能使用mongodb。

MongoDb可以产生一个聚合,它会从结果

中远程调整键的值

1 个答案:

答案 0 :(得分:1)

运行以下聚合管道,该管道使用 $concatArrays 运算符来连接数组并获得所需的结果作为键:

db.collection.aggregate([
    {
        "$project": {
            "items": { "$concatArrays": [ "$value", ["$_id"]  ] }
        }
    },
    {
        "$group": {
            "_id": null,
            "items": { "$push": "$items" }
        }
    }    
])