strong循环环回REST查询和/或与之结合
我有一个具有startDate和endDate属性的简单模型对象 我似乎无法使用RESTAPI同时使用“and/or”和“between”进行查询。我想查询“开始日期范围”或“结束日期范围”。我本以为以下查询会起作用:strong循环环回REST查询和/或与之结合,rest,strongloop,between,loopback,Rest,Strongloop,Between,Loopback,我有一个具有startDate和endDate属性的简单模型对象 我似乎无法使用RESTAPI同时使用“and/or”和“between”进行查询。我想查询“开始日期范围”或“结束日期范围”。我本以为以下查询会起作用: ?filter[where][or][0][event.startDate][between][0]=2017-01-15&filter[where][or][0][event.startDate][between][1]=2017-01-22&filter[wh
?filter[where][or][0][event.startDate][between][0]=2017-01-15&filter[where][or][0][event.startDate][between][1]=2017-01-22&filter[where][or][1][event.endDate][between][0]=2017-01-15&filter[where][or][1][event.endDate][between][1]=2017-01-22
理想情况下,我希望在event.startDate和event.endDate之间进行查询,但环回不喜欢以下查询:
?filter[where][event.startDate][between][0]=2017-01-15&filter[where][event.endDate][between][1]=2017-01-22
这些查询独立工作,效果很好:
?filter[where][event.startDate][between][0]=2017-01-15&filter[where][event.startDate][between][1]=2017-01-22
?filter[where][event.endDate][between][0]=2017-01-15&filter[where][event.endDate][between][1]=2017-01-22
以下是我的模型定义:
models/event.json
{
"name": "event",
"plural": "events",
"base": "PersistedModel",
"idInjection": true,
"options": {
"validateUpsert": true
},
"properties": {
"name": {
"type": "string",
"required": false
},
"startDate": {
"type": "date",
"required": false
},
"endDate": {
"type": "date",
"required": false
}
},
"validations": [],
"relations": {},
"acls": [],
"methods": {}
}
在这种情况下,我也无法使其余的查询工作 最终,我们不得不求助于通过字符串化JSON构建查询,请参见 像这样的
let过滤器={
其中:{
或:[
{
“事件开始日期”:{
介于:['2017-01-15','2017-01-22']
}
},
{
“event.endDate”:{
介于:['2017-01-15','2017-01-22']
}
}
]
}
};
让url=`/api?filter=${JSON.stringify(filter)}`;
实际上,这也使查询构建变得简单多了