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