mongodb - 将有序数组重塑为表格
问题描述
我想将数据记录的有序列表转换为表格格式,我在下面创建了一个示例输入和输出。我可以很容易地在客户端上执行此操作,但如果可能,我更愿意在服务器上执行此操作;理想情况下使用聚合框架,但可能是 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": "" }
]
解决方案
从数据库中获取数据。在服务器端执行所有表格转换。
不要将聚合框架与业务逻辑混淆。
最终,从 db 到服务器的网络更少,可测试性更高。
推荐阅读
- python - Python中基于类别的测验问题数量
- flutter - 如何在不使用 ffmpeg_kit_flutter 的情况下向视频添加音频?
- delphi-10.4-sydney - 本机 IDE 调用堆栈窗口在崩溃时始终为空
- sql - 将列更新为重复
- javascript - DataTables - 高级搜索/列过滤器?
- firebase - 如何在 Firestore 数据库中建模这种情况?
- awk - 将两列合并为新列并打印所有列
- php - 如何在functions.php中获取数据
- python - pygame - while循环使pygame窗口冻结/我如何将子弹射出玩家?
- javascript - 使用 JavaScript 我想要以下输出