-1
我正在MongoDB中使用相当大的数据,并在我的Meteor应用程序中使用它。但是,数据的大小导致网页加载非常缓慢。流星 - 缓慢加载大数据集
该集合大小约为17MB,包含84,000个文档。
使用发布/订阅方法我有以下代码:
进口 - >两者 - > MyCollection.js:
import { Mongo } from 'meteor/mongo';
export const statistics = new Mongo.Collection('statistics');
服务器 - > Main.js:
import { Meteor } from 'meteor/meteor';
import { HTTP } from 'meteor/http';
import { statistics } from '/imports/both/MyCollection';
Meteor.publish('statistics', function publishSomeData() {
return statistics.find();
});
客户端 - > Main.js:
import { Meteor } from 'meteor/meteor';
import { Template } from 'meteor/templating';
import { ReactiveVar } from 'meteor/reactive-var';
import { statistics } from '/imports/both/MyCollection';
import './main.html';
Template.application.onCreated(function applicationOnCreated() {
this.subscribe('statistics');
});
Template.application.onRendered(function applicationOnRendered() {
this.autorun(() => {
if (this.subscriptionsReady()) {
const statisticsData = statistics.findOne();
console.log(statisticsData);
}
});
});
所以就像我说的这种方法的工作原理和控制台记录数据。然而,使用大约60mbps的互联网连接需要大约2分钟的时间来加载页面,最后控制台记录数据,有时我只是得到'Google没有响应'的警报,我不得不强制退出。
什么是更有效的方式加载数据到应用程序,以避免这种非常缓慢的加载时间?任何帮助将不胜感激。
非常感谢,
摹
如果您认为这些解决方案可能有效,我可以提供片段来演示其实施。 –
感谢您的回答Seb。我的问题是应用程序中需要提供给我的所有文档,因此只发布部分数据量不适合我。懒惰加载听起来像是一个合适的选择,如果你有一个例子,我可以看到这将是伟大的!谢谢 – GBT97
这里有个很好的例子(https://www.packtpub.com/mapt/book/web_development/9781783988129/4/ch04lvl1sec41/lazy-loading-posts)。它有几个快速部分,在页面底部有一个“下一部分”按钮。这是否清楚地解释了模式? –