2016-08-25 137 views
0

我有一个MongoDB的查询结果数据的格式如下项目阵列到阵列

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

,我想结果转换成

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

请问这样的阵列可以使用聚合方法吗?我想避免使用Javascript进行转换,并希望在可能的情况下使用mongodb进行转换。

MongoDB中可以产生aggreation即会远程键的从结果

回答

1

运行下面的聚合管线,它使用$concatArrays运算符连接阵列和获得所需的结果作为密钥的值:

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