首页 > 解决方案 > Mongo DB中的数据库结构

问题描述

我有一个以 JSON 格式提供数据的第三方 Web 服务,结构如下:

在此处输入图像描述 该 Web 服务总共提供了 22,000 条记录。

我正在创建一个调度程序来抓取这些记录并将它们保存在 MongoDB 集合中。

我需要来自父 JSON 的一些键,例如“query”、“countyrName”等参数,以及一些来自带有内部 JSON 的“结果”。

我想在 html 表中显示数据,并想使用 jquery 插件 Datatables 添加排序和分页。

如何构建数据,以免对性能产生任何负面影响?如何进一步提高性能?

标签: jsonmongodbdatatables

解决方案


如果您想在一个平面表格中显示所有数据,您应该相应地构建您的文档。这不会影响性能。

如果要使用带有排序和分页的 jquery Datatables 显示所有数据,则必须将所有 22,000 个文档发送到客户端。我怀疑这会以两种方式使整个应用程序变得非常缓慢:

  • 这会增加页面的加载时间,因为必须一次加载大量数据
  • 排序会很慢,因为浏览器必须对 javascript 中的所有 22,000 个条目进行排序。

所以你应该在数据库中进行排序和分页(这就是它的用途)并且只获取请求的数据。为了加快数据库中的排序,您应该在要排序的字段上创建索引。

如果您想保留 Datatables 插件,您至少应该按照您最初希望显示的方式对数据进行排序,并在该字段上添加索引。


推荐阅读