sails.js中的高级过滤

Advanced filtering in sails.js

本文关键字:高级 过滤 js sails      更新时间:2023-09-26

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

如果您想查找某个模型的某些属性与另一个模型的属性匹配的实例,您可以执行嵌套查找:

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()函数运行自己的自定义查询,或者使用一些更内置的高级功能。有关更多信息,请参阅Waterline文档。