私はangularUtils.directives.dirPagination
の53,296文書のコレクションからマテリアルmdオートコンプリートが必要ですが、このデータ量は私のブラウザをハングアップさせます。私はコレクションを公開しています巨大なデータからのメテオ角オートコンプリート
:
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
通常、大規模なコレクションの自動補完では、サーバー上で検索を実行し、一致するレコードのみを返します。すべてのデータをクライアントに公開するのは遅くなるでしょう。自動補完している1つのフィールドだけに、公開するフィールドの数を制限することができます。 –
アイデアを共有してくれてありがとうございました。実際にページングの助けを借りてブラウザを壊さないようにしましたが、@MichelFloyd以外のすべてのデータをロードするのにかかる時間は本当にありません。 私はonReadyについて聞いている間、私はそれが起こることができませんが、私は1ページの読み込みのために私はページの負荷の前にデータをロードしたいと思います。 あなたはこれらの2つの参考にしてもらえますか? ありがとうございました –