sails.js中的高级过滤

时间:2014-09-10 09:08:54

标签: javascript node.js sails.js

如何在sails.js中创建高级过滤器,例如角度自定义过滤器中可以与分页结合使用的过滤器? 我尝试过使用find(),但只能使用修饰符。我必须在另一个表中执行与值的匹配。有没有办法在find()中使用自定义函数作为标准?

1 个答案:

答案 0 :(得分: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