2014-09-10 102 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