Sails.js WaterlineORM如何在查询中使用$and/$or运算符
我有一个数据库中存储的数据。以下是DB中一个文档的示例: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选择与其中一个(或两个)查询匹配的文档 以下是我尝试过的(几年来): 一, { “年份”:{“>=”
{
"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
})