NodeJS 在ejs节点js模板引擎中从长数组循环很慢

mwg9r5ms  于 2022-12-18  发布在  Node.js
关注(0)|答案(1)|浏览(145)

我从MongoDB中获取数据,并在ejs中循环,这是一个长数据,它是一个超过28k对象的数组,因此加载速度很慢,有没有什么方法可以加载所有数据,而不必牺牲性能?
我试图在ejs temp中从MongoDB加载数据,并打印HTML选择选项,它正在打印,但速度很慢

u7up0aaq

u7up0aaq1#

没有细节的话很难给出建议,但我会给予一下,希望你能听到一些真实的声音.... a.
1.尽量减少从数据库中检索的数据量。您可以使用Mongo投影来指定要在查询结果中包含或排除哪些字段。
1.使用分页/批处理...这将允许您一次显示较少数量的项目
1.内存缓存不是一个好的选择,但是你可以考虑像redis,solr,lucien这样的缓存,而不是直接去mongo,尽管mongo的读取速度很快......只有当你的数据不经常改变的时候,这才能起作用。
1.回顾一下你的蒙戈指数,看看你是否能从中得到更多。
1.如果用户等待是合理的(例如,这是一个报告或沿着的东西...)使用队列/轮询,就像你在Azure或AWS等服务中看到的那样。这将表明它正在做一些事情,并在完成时通过回调/钩子提醒用户。这将需要重新考虑你的解决方案设计...这可能会是一个更好的用户体验...
希望有什么能帮到你。

相关问题