首页 > 解决方案 > 将有序数组重塑为表格

问题描述

我想将数据记录的有序列表转换为表格格式,我在下面创建了一个示例输入和输出。我可以很容易地在客户端上执行此操作,但如果可能,我更愿意在服务器上执行此操作;理想情况下使用聚合框架,但可能是 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": "" }
]

标签: mongodbmongodb-queryaggregation-framework

解决方案


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

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

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


推荐阅读