2016-11-23 8 views
2

나는 startDate 및 endDate 속성을 가진 간단한 모델 객체를 사용합니다.Strongloop Loopback REST 쿼리 및/또는 사이에 결합

REST API를 사용하여 '및/및'및 '사이'와 같이 쿼리 할 수 ​​없습니다. 'startDate range'또는 'endDate range'사이에 'between'을 쿼리하고 싶습니다. 나는 다음과 같은 쿼리가 일한 것이라고 생각했을 것이다 :

?filter[where][event.startDate][between][0]=2017-01-15&filter[where][event.endDate][between][1]=2017-01-22 

:

?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하지만 루프백 사이 쿼리 좋아했 쿼리는 잘 독립적으로 작동 :

,536,913,632 : 여기
?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 

내 모델 정의입니다 10 개

모델/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": {} 
} 

답변

1

는 나도 그 경우 나머지 쿼리 작업을 만들 수 없습니다.

궁극적으로, 우리는 캐릭터 라인 JSON을 통해 쿼리 작성에 의존했다, 사실, 그래서 그것은 또한 많은 간단한 구축 쿼리를 만들어이

let filter = { 
    where: { 
    or: [ 
     { 
     'event.startDate': { 
      between: ['2017-01-15', '2017-01-22'] 
     } 
     }, 
     { 
     'event.endDate': { 
      between: ['2017-01-15', '2017-01-22'] 
     } 
     } 
    ] 
    } 
}; 

let url = `/api?filter=${JSON.stringify(filter)}`; 

같은를 docs

를 참조하십시오.

+0

멋진 트릭 .. 매우 유연합니다. – Abhishek