我在Mongo中拥有以下文件:
{
"_id": ...,
"accel": [{"x": xv1, "y": yv2}, {"x": xv2, "y": yv2}]
},
{
"_id": ...,
"accel": [{"x": xv3, "y": yv3}, {"x": xv4, "y": yv4}]
}
我希望将结果作为一个单一文档获得,例如:
{
"x": [xv1, xv2, xv3, xv4],
"y": [yv1, yv2, yv3, yv4]
}
有人知道我该怎么做吗?
答案 0 :(得分:1)
db.collection.aggregate([
{
$unwind: "$accel"
},
{
$group: {
_id: null,
x: {$push: "$accel.x"},
y: {$push: "$accel.y"}
}
}
])
如果您关心数组中的顺序,则应添加$ sort阶段。