帆水线"或"条款不起作用

时间:2015-07-28 12:53:23

标签: sails.js waterline

我花了很多时间来弄清楚OR子句在风帆中工作没有成功。

我正在使用Sails-MySql适配器。

你们有没有做过这样的事情吗?我将不胜感激。

基本上这就是我想要做的事情:

对一组字段执行OR子句以及在另一组字段上执行AND。

这样的事情:

FdbDevice
  .find()
  .where(or:
    [
      { deviceCategory: “cardiology valve bioprosthesis” },
      { deviceCategory: “nephrology haemodialysis catheter” }
    ]
  })
  .where(
    { catalogNumber : “Z286004” },
    { modelNumber: “Z286004” }
  )
  .exec

2 个答案:

答案 0 :(得分:2)

在这种特殊情况下,我会这样做:

// Each element in the array is treated as 'or'
var possibleDeviceCategories = [
  'cardiology valve bioprosthesis',
  'nephrology haemodialysis catheter'
];

FdbDevice
  .find({
    deviceCategory: possibleDeviceCategories,
    catalogNumber: 'Z286004',
    modelNumber: 'Z286004'
  })
  .exec(cb);

查看the docs以获取有关Waterline查询语言的更多信息。

答案 1 :(得分:1)

你可以尝试这样的东西,进入发现:

  FdbDevice
      .find({or:
        [
          { deviceCategory: “cardiology valve bioprosthesis” },
          { deviceCategory: “nephrology haemodialysis catheter” }
        ]
      })
      .where(
        { catalogNumber : “Z286004” },
        { modelNumber: “Z286004” }
      )