我有一個角度流星應用程序,需要使用53,296個文檔與angularUtils.directives.dirPagination
之間的材質md-autocomplete,但此數據量會使我的瀏覽器掛起。來自海量數據的流星角度自動完成
我發佈的收集與:
Meteor.publish('city', function (options, searchString) {
var where = {
'city_name': {
'$regex': '.*' + (searchString || '') + '.*' ,
'$options': 'i'
}
};
return City.find(where, options);
});
我同意用:
subscriptions: function() {
Meteor.subscribe('city');
this.register('city', Meteor.subscribe('city'));
}
,並且對控制器分頁:
$scope.currentPage = 1;
$scope.pageSize = 100;
$scope.sort = {city_name_sort : 1};
$scope.orderProperty = '1';
$scope.helpers({
city: function(){
return City.find({});
}
});
,但它需要很長的時間負載和它的鉻停止工作。
也許分頁在服務器上?所以你只會發送你從服務器上顯示的信息?另外,也許可以肯定的是,當搜索爲空時,不要將所有結果都發回 – Urigo
通常在大集合上自動完成時,您在服務器上執行搜索並僅返回匹配記錄。將所有數據發佈到客戶端將會很慢。您可以將發佈的字段數量限制爲僅自動完成的字段數量。 –
感謝分享想法實際上現在分頁有助於不打破瀏覽器,但它需要時間來加載所有數據,但@MichelFloyd我真的不知道如何在服務器上搜索。 意思是,雖然我聽說onReady,但我不能做到這一點,因爲我有1頁加載我想加載頁面之前的數據。 你能幫我找到這兩個關於onReady和搜索服務器的信息嗎? 在此先感謝 –