首页 > 解决方案 > MongoDB - 将聚合/查询结果存储在单独的集合中

问题描述

我面临的困境需要我在聚合查询中筛选大量数据,这将在未来随着我的数据库继续增长而导致性能问题。我不得不避免这个问题,但它已经到了不再可能的地步。

考虑到这一点,我想将涉及这些数组的较低级别聚合查询的结果存储在单独的集合中。我认为这将有助于解决性能问题,因为它在更高级别的聚合查询中需要更少的阶段,并且在 COLLSCAN 中需要更少的工作。一旦客户端进行写入/更新/删除,我希望在后台运行一些东西,它会再次运行查询,然后更新结果。

我想从您的经验中知道您将如何管理这样的解决方案。写入完成后,您是否让客户端在后台运行查询?服务器上是否有程序检查更改然后运行适当的代码?

当然,我理解这取决于具体情况,并且我也理解建议进行适当的索引或更好的数据设计。然而,索引只能走这么远,我不能每次遇到这样的问题时都重新设计我的数据。我对大数据没有太多经验,所以我很感激可以提供的任何智慧。

非常感谢你!

标签: databasemongodbmongodb-queryaggregation-framework

解决方案


推荐阅读