-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)。它有幾個快速部分,在頁面底部有一個「下一部分」按鈕。這是否清楚地解釋了模式? –