Sails.js WaterlineORM如何在查询中使用$and/$or运算符

Sails.js WaterlineORM如何在查询中使用$and/$or运算符,sails.js,waterline,Sails.js,Waterline,我有一个数据库中存储的数据。以下是DB中一个文档的示例: { "year": 2012, "indicator": 0 } 其他文件包含其他年份(2013年、2014年等)和随机“指标”。现在,我想选择所有数据在2012年至2014年范围内的文档和一些指标。我正在使用blueprint sails.js api传递搜索查询 我希望有一种方法可以传递两个查询,并使Waterline选择与其中一个(或两个)查询匹配的文档 以下是我尝试过的(几年来): 一, { “年份”:{“>=”

我有一个数据库中存储的数据。以下是DB中一个文档的示例:

{
    "year": 2012,
    "indicator": 0
}
其他文件包含其他年份(2013年、2014年等)和随机“指标”。现在,我想选择所有数据在2012年至2014年范围内的文档和一些指标。我正在使用blueprint sails.js api传递搜索查询

我希望有一种方法可以传递两个查询,并使Waterline选择与其中一个(或两个)查询匹配的文档

以下是我尝试过的(几年来):

一,

{
“年份”:{“>=”:2012}
“年份”:{“=”:2012,“=”:2012}
}, {
“年份”:{“=”:2012}
}, {

“年”:{“我也有同样的问题……我希望有这样的解决方案……但我最终使用where


stuff.find({year:{'':2012})
我也有同样的问题,我想找到解决方案

In查询的工作方式类似于mysql的“In查询”。 数组中的每个元素都被视为“或”

Model.find({
  name : ['Walter', 'Skyler']
});

随着时间的推移,这个问题还没有得到回答,我将自己回答

此解决方案适用于最新版本的sails(
1.2.3
)和MySQL DB:

await Record.find({
  where: {
    and: [
      {year: {'>': 2005}},
      {year: {'<': 2008}}
    ]
  },
  limit: 3
})
wait Record.find({
其中:{
以及:[
{年份:{'>':2005},
{年份:{'
 "or": [{
    "year": {">=": 2012}
  }, {
    "year": {"<=": 2014}
  }]
 "and": [{
    "year": {">=": 2012}
  }, {
    "year": {"<=": 2014}
  }]
Model.find({
  name : ['Walter', 'Skyler']
});
await Record.find({
  where: {
    and: [
      {year: {'>': 2005}},
      {year: {'<': 2008}}
    ]
  },
  limit: 3
})