Javascript 当我的数据库太大,并且我最初需要前端的所有数据时,我该怎么办

Javascript 当我的数据库太大,并且我最初需要前端的所有数据时,我该怎么办,javascript,mongodb,express,optimization,web-applications,Javascript,Mongodb,Express,Optimization,Web Applications,我使用Mongodb,我的收藏量非常大。它包含15k个文档,大小接近15MB。我正在开发的网站使用地图,显示地图上的每个元素。这个网站的这种设计使它很难分页。每当我向express后端发出请求时,它都会给出有关javascript堆内存不足的错误信息 我可以做些什么来确保我的网站仍然有效,同时牢记以下几点: 我的数据库太大了 我的网站不允许分页 如果我继续使用当前的设计,我的后端将崩溃 很抱歉,如果我太笨了,这是我第一次问有关stackoverflow的问题,请不要进行分页,但仍以增量方式加载数

我使用Mongodb,我的收藏量非常大。它包含15k个文档,大小接近15MB。我正在开发的网站使用地图,显示地图上的每个元素。这个网站的这种设计使它很难分页。每当我向express后端发出请求时,它都会给出有关javascript堆内存不足的错误信息

我可以做些什么来确保我的网站仍然有效,同时牢记以下几点:

  • 我的数据库太大了
  • 我的网站不允许分页
  • 如果我继续使用当前的设计,我的后端将崩溃

  • 很抱歉,如果我太笨了,这是我第一次问有关stackoverflow的问题,请不要进行分页,但仍以增量方式加载数据,并在数据到达时将其可视化。可以将其视为加载动画

    步骤1:加载应用程序,显示没有数据的地图 步骤2:当数据以块的形式到达时,渲染它

    或者使用类似websocket的东西


    找到一种散列/分页的方法,即使您使用了一些愚蠢的东西,比如ID的第一个字符来进行此操作

    不要进行分页,但仍然以增量方式加载数据,并在数据到达时将其可视化。可以将其视为加载动画

    步骤1:加载应用程序,显示没有数据的地图 步骤2:当数据以块的形式到达时,渲染它

    或者使用类似websocket的东西


    找到一种散列/分页的方法,即使你使用了一些愚蠢的东西,比如ID的第一个字符来做这件事

    谢谢你的回答,我会尝试实现它,看看它是如何实现的。我使用了一个名为supercluster的库,它非常快速。我可以将我所有的标签进行集群,然后在用户拖动地图时使用websocket连接获取。感谢您的回答,我将尝试实现这一点,看看goesI最终是如何实现这一点的。我使用了一个名为supercluster的库,它非常快速。我可以将我所有的标签聚集在一起,然后在用户拖动地图时使用websocket连接获取。从您的屏幕截图判断,您使用的是Heroku。他们应该能够毫无问题地处理15mb的数据。可能还有别的事情发生。但不管后端如何,将15mb的内存推送到客户端都是一个坏主意。从您的截图判断,您使用的是Heroku。他们应该能够毫无问题地处理15mb的数据。可能还有别的事情发生。但不管后端如何,将15mb推送到客户端都是一个坏主意。