【问题标题】:Meteor mongo paginationMeteor mongo 分页
【发布时间】:2016-11-26 18:07:13
【问题描述】:

我正在开发一个需要分页(无限滚动)的 Meteor 应用程序。如果用户滚动到底部,我会拉下一个数据块 Collection.find({"offset": {$gte: currentOffset}}, {limit: limit})。这种方法的问题是在此之后以前的文档不再可用。我可以删除偏移量以保留旧的偏移量,但在提取超过 1000 个条目后它会减慢应用程序的速度。我将发布/订阅与 komposer 容器一起使用。有没有办法使用限制和偏移将以前的集合反应性地保持在新卡盘之上?提前致谢。

【问题讨论】:

  • 你看过this吗?
  • 嘿。谢谢你的建议。我看了那篇文章,你可以看到提取数据没有偏移,这意味着在提取大量数据后它会变慢。

标签: mongodb reactjs meteor containers infinite-scroll


【解决方案1】:

您可以使用kadirahq/subs-manager 代替默认的Meteor.subscribe 来订阅数据。此软件包将缓存您的订阅及其所有数据以提高应用性能。

但请记住,即使使用此包,如果您向客户端发送大量数据,例如超过一千个文档,您的应用程序最终也会变得越来越慢,因为它必须将所有文档保存在内存中以监视它们变化。

因此,您应该限制发布给客户端的最大文档数量(IMO,300-400 应该没问题)。如果您需要更多,请考虑使用其他方式进行分页。

【讨论】:

  • 嘿。谢谢回复。我试过了,但我并没有感觉到明显的性能提升。该应用程序本身具有相当不错的性能,无需滚动 > 1000 个条目。
猜你喜欢
  • 2013-01-13
  • 2021-08-28
  • 1970-01-01
  • 2017-03-30
  • 1970-01-01
  • 2015-08-15
  • 1970-01-01
  • 2015-10-15
  • 2016-12-23
相关资源
最近更新 更多