我有一個最近變得非常大的集合。我曾經使用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或使用服務器方法搜索大型集合,以及兩者的示例。 – 2014-10-30 23:25:40