我有一个存储在DB中的数据。以下是来自DB的一个文档的示例:
{
"year": 2012,
"indicator": 0
}
其他文件包含其他年份 - 2013年,2014年等及随机“指标”。现在我想选择2012年至2014年范围内有数据的所有文档和一些指标。我正在使用蓝图sails.js api来传递搜索查询。
我希望有一种方法可以传递两个查询,并使Waterline选择与一个(或两个)查询匹配的文档。
所以这就是我所尝试的(现在只是几年):
1
{
"year": {">=": 2012}
"year": {"<=": 2014}
}
在这里,我只获得了2012年的文档。
2
{
"year": {">=": 2012, "<=": 2014}
}
与1相同。
3
"or": [{
"year": {">=": 2012}
}, {
"year": {"<=": 2014}
}]
与1相同。
4
"and": [{
"year": {">=": 2012}
}, {
"year": {"<=": 2014}
}]
不会退回任何文件。
问题是:如何在waterlineORM的某个范围内获取文件?
答案 0 :(得分:1)
我有同样的问题....我希望有这样的解决方案......但我最终会在哪里使用。
stuff.find({year:{"<":2014}}).where({year:{">":2012}})
答案 1 :(得分:1)
我有同样的问题,我想找到解决方案。
在查询中,查询的工作方式类似于mysql&#39;。 数组中的每个元素都被视为&#39;或&#39;。
Model.find({
name : ['Walter', 'Skyler']
});
答案 2 :(得分:0)
随着时间的流逝,这个问题没有得到回答,我会自己回答。
此解决方案适用于最新版本的Sails(1.2.3
)和MySQL DB:
await Record.find({
where: {
and: [
{year: {'>': 2005}},
{year: {'<': 2008}}
]
},
limit: 3
})