gpt4 book ai didi

javascript - 如何在客户端展示海量报表数据(mongoDB、JS)

转载 作者:可可西里 更新时间:2023-11-01 09:58:30 24 4
gpt4 key购买 nike

由于我们在应用程序中收集的数据的性质,有必要让用户能够搜索 1,000,000 多行数据,并尽快在客户端接收结果。

我们尝试过各种技术,目前正在试验文档存储引擎 MongoDB。我们本质上是以我们希望在客户端显示的方式将报告数据存储在 Mongo 中。

但是,这正是我想借鉴您的经验的地方。我们已经使用了一些报表插件,例如 datatables.net,但是当客户端请求可能匹配 100,000 条以上记录的数据时,将该数据传送到客户端的延迟可能需要一分多钟才能将 JSON 从服务器导出到客户。

我曾尝试通过一次只向客户端发送 1000 个结果来过滤结果集,但是如果用户决定对列进行排序怎么办?必须再次执行整个请求,并将前 1000 个结果加载到客户端。

但是如果客户端选择在列内搜索,结果必须重新获取。当所有数据都加载到客户端时,所有这些问题都不存在。

所以基本上我的问题是,您如何才能高效、快速地让客户搜索和操作大型数据集,同时将结果以一种不需要一次发送所有结果的方式交付给客户端,因此保持客户端尽可能轻量级?

我确定一定有一些用于 MongoDB 的前端数据表类型插件,可能通过 node.js 进行直接 JSON 通信,但我找不到任何东西!

感谢您的帮助。

最佳答案

听起来您的问题出在您试图传递给客户端的大量数据上。什么屏幕显示1000行数据??

使用起始索引、排序顺序和页面大小发出请求,并仅按该顺序获取那么多数据并将其返回客户端。

以 jqGrid 为例,将其作为客户端网格,将分页和排序信息传回服务器,并且一次只检索一页。带有 MongoDB 和正确索引的 jqGrid 快得令人眼花缭乱。

关于javascript - 如何在客户端展示海量报表数据(mongoDB、JS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4908059/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com