У меня есть коллекция, которая недавно стала очень большой. Я использовал для подписки на все его документы, я выполнял поиск по нему, используя поле поиска в myapp.Подписка на большую коллекцию
С этой большой коллекцией требуется загрузка времени.
Что бы вы посоветовали снизить время загрузки, но все же провести поиск мощности по всей коллекции?
Могу ли я подписаться на часть коллекции (выполняя мой поисковый запрос) через клиента?
, что у меня сейчас:
на маршрутизаторе:
waitOn: function(){
return [Meteor.subscribe('files')];
},
на моем клиенте (если кнопка поиска нажата):
'click #search':function(e,context) {
Session.set("keywords",$("#search_input").val());
}
шаблона
Template.filwsList.helpers({
files_results: function() {
var keywords = new RegExp(Session.get("keywords"), "i");
var result = Files.find({$or:[{name:keywords},{description:keywords},{tags:keywords}]},{sort: {updatedAt: 1}});
return result;
}
})
я задал вопрос по аналогичной теме, вы можете оказаться полезными. http://stackoverflow.com/questions/26225840/canonical-way-to-use-jqueryui-autocomplete-with-meteor. В нем перечислены способы поиска больших коллекций с использованием pub/sub или с использованием метода сервера с примерами для обоих. –