2015-09-15 48 views
2

我是流星的新手,並且遇到以下問題。我需要實現具有多個集合和多個字段/ $和選擇器的被動搜索。任何類型的指導將不勝感激。用流星進行定製的反應式搜索

應用程序應該使用4/5集合,然後基於3個文本過濾器(數據庫字段)和集合選項(從下拉菜單),返回反應結果。所以,讓我們來說,從下拉列表,他們選擇的集合C1,然後鍵入以下內容 - 野外F1,11,現場F2,22,F3,33

現在應用程序應返回從C1具有各自的值{F1文件:11, f2:22 ...}爲3個字段。 查詢將類似於: collection.find({$and: [{f1:11, f2:22, f3:33...}]})

我到目前爲止一直在努力嘗試。

路線1

aldeed/meteor-autoform

使用自動窗體,我已經開發與降的形式下和文本框。我不知道如何從這裏開始 - 如何整合,比如用autoform進行簡單搜索。

路線2

matteodem/easy-search

只是簡單的搜索。我仍在致力於開發使用此包的反應式搜索。我正在關注排行榜榜樣。在開發階段,我不知道我還需要知道什麼。

三號

aslagle/reactive-table

使用反應性表。我使用默認過濾器。反應結果很好。現在我試圖自定義過濾器,但它不工作。不知道我在做什麼錯 - helpers.js或模板。或者,考慮到查詢的複雜性,如果我需要集成其他內容,如簡單搜索。

請讓我知道你需要什麼代碼部分,我會在我的編輯中加入它。 (添加所有內容會使它太長)。

回答

1

使用EasySearch,您可以定義自己的特殊查詢。

EasySearch.createSearchIndex('cars', { 
    'field' : ['name', 'price'], 
    'collection' : Cars, 
    'limit' : 20, 
    'query' : function (searchString, opts) { 
    var query = EasySearch.getSearcher(this.use).defaultQuery(this, searchString); 
    query.$and = query.$and || {}; 
    // do whatever you need with `$and` here 
    } 
}); 
+0

不錯的答案。所以它有可能在客戶端有多個輸入字段,並顯示每個條目的結果正確(如果我修改,顯然)? IE:如果我有一個包含標籤,類別,作者的Posts集合,並且如果我爲每個集合字段填充3個輸入字段,它將搜索包含這些文件的帖子是否正確?感謝(: – Luna

+0

或者是用自定義輸入字段編寫我自己的搜索會更好嗎?它會從輸入字段獲取值並使用Posts.find返回? – Luna