2017-03-01 62 views
1

我有一个数据集,看起来像下面项目对象数组结果的MongoDB

[{ 
_id: ObjectID(), 
data: { 
    key1: value, 
    key2: value 
} 
}, 
{ 
_id: ObjectId(), 
data: { 
    key1: value, 
    key2: value 
} 
}] 

我想将其转换成

[ 
[_id,key1,key2], [_id,key1,key2] 
] 

一个我试图聚合框架,但couldn”不要想出任何这样做的方式。如果可能的话,我想避免循环对象,但不知道是否可以这样做。

回答

4

真的没什么好解释的。漂亮的基本$project$group

db.collection.aggregate([ 
    {$project : {data : ["$_id", "$data.key1", "$data.key2"]}}, 
    {$group : {_id : null, result : {$push : "$data"}}} 
]); 
+0

你是我的英雄。人。我没有想到$ push功能 – Bazinga777