我有一个角度流星应用程序,需要使用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和搜索服务器的信息吗? 在此先感谢 –