2014-09-10 47 views
2

如何在sails.js中創建高級過濾器,就像角度自定義過濾器中可以與分頁結合使用的高級過濾器一樣?
我試過使用find(),但只能使用修飾符。我必須執行與其他表中的值匹配。有沒有辦法在find()中使用自定義函數作爲條件?sails.js中的高級過濾

+0

我們需要更多信息才能回答這個問題。我不確定「執行與另一個表中的值匹配」是什麼意思。你能提供一些代碼嗎? – particlebanana 2014-09-10 17:06:05

回答

3

如果你的意思是找到一個模型的實例,其中它的一些屬性匹配另一個模型的屬性,你可以做一個嵌套的發現:

Model1.find({ attr1: filter1, ... }, function (err, firstModels { 
    firstModels.forEach(function (firstModel) { 
    Model2.find({ someAttr: firstModel.attr1, ... }, function (err, secondModels) { 
     // do what you need to do with what you find (i.e. store in an outside list, etc) 
    }); 
    }); 
}); 

你提到分頁,您可以用做skip()paginate()功能;您甚至可以使用query()函數運行自己的自定義查詢,或者使用更多built-in advanced features。有關更多信息,請參閱Waterline documentation