将有序数组重塑为表格

时间:2019-01-07 09:38:51

标签: mongodb mongodb-query aggregation-framework

我想将数据记录的有序列表转换为表格格式,下面创建了示例输入和输出。我可以很容易地在客户端上执行此操作,但如果可能的话,宁愿在服务器上执行此操作;理想情况下使用聚合框架,但可能是map reduce是唯一的选择。

我已经使用了多个流水线阶段来将数据获取到结构上与下面显示的输入类似的东西。

Input = [ 
    { "Hotel": "California" }, 
    { "Floor": "2" }, 
    { "Number of Rooms": "25" }, 
    { "Floor": "3" }, 
    { "Number of Rooms": "42" }, 
    { "Hotel": "Marigold" }, 
    { "Floor": "2" }, 
    { "Number of Rooms": "5" }, 
    { "Hotel": "Notel" }, 
    { "Floor": "" }, 
    { "Number of Rooms": "" } 
]

Output = [ 
    { "Hotel": "California", "Floor": "2", "Number of Rooms": "25" },
    { "Hotel": "California", "Floor": "3", "Number of Rooms": "42" }, 
    { "Hotel": "Marigold", "Floor": "2", "Number of Rooms": "5" }, 
    { "Hotel": "Notel", "Floor": "", "Number of Rooms": "" }
]

1 个答案:

答案 0 :(得分:0)

从数据库中直接获取数据。在服务器端执行所有表格转换。

不要将聚合框架与业务逻辑混淆。

最终,从db到服务器的网络更少,并且更具可测试性。