【发布时间】:2021-09-08 09:58:35
【问题描述】:
我正在收集来自市场数据 websocket 流的大量数据。我正在从这个单一流中收集 2 种不同类型的事件,这些事件将与事件日期/时间一起存储,并且没有父/子数据库关系。由于数据结构的不同,它们被存储在各自的 MongoDB 集合中。
一旦存储了一定数量的数据(超过 10 万个事件),我将对事件进行分析,但我希望以按时间模拟原始单个事件流的方式进行分析(不单独处理两个收集流)。
如果可能的话,我希望能够从 Mongoose 进行一次查询,该查询将两个集合连接起来,按日期排序,并作为流输出以节省内存。因此,在这种情况下,由于事件的数量,性能很重要。
我在搜索解决方案时看到的所有答案都与某种父/子聚合有关,但由于这不是应用程序中与用户/用户数据相关的部分,所以我很难找到答案。
此外,将数据存储在 2 个单独的集合中似乎是必要的,因为它们的字段都不同,除了 time。但是...如果不再需要这种类型的解决方案,将这些事件保存在一个集合中会不会是利大于弊?
【问题讨论】:
标签: node.js mongodb mongoose coinbase-api node-streams