2016-11-04 4 views
1

알다시피, ArangoDB 3.1은 새로운 내부 저장 형식 VelocyPack의 일부로 날짜 유형을 지원합니다. AQL 검색어에 날짜 유형이있는 입력란 (예 : 필터)을 어떻게 사용합니까? 문서가 날짜 유형 필드에 대해 아직 업데이트되지 않은 것 같습니다 : https://docs.arangodb.com/devel/AQL/Functions/Date.htmlArangoDB 3.1의 날짜 쿼리하기

누군가 AQL 쿼리 예제를 제공 할 수 있습니까? 예 :

FOR p IN person FILTER p.birthday == '2016-11-04' RETURN p 

여기서 필드 p. 생일은 날짜 유형입니까?

답변

0

VelocyPack은 ArangoDB의 내부 저장 형식으로 주로 사용되므로 추가 VelocyPack 유형은 현재 AQL, 셸 또는 web-ui에서 지원되지 않습니다. 그들은 모두 처리를 위해 json을 사용해야합니다.

현재 날짜 유형이있는 문서를 만드는 유일한 방법은 Java-Driver (버전 4.1.0)를 사용하는 것입니다. 드라이버는 AQL 쿼리의 결과로 VelocyPack을 얻을 수있는 유일한 방법이기도합니다. 다른 모든 구현은 추가적인 VelocyPack 유형없이 자연스럽게 당신을 돌려줍니다.

AQL-date 함수는 현재 개발 상태에서 VelocyPack 날짜 유형을 지원하지 않습니다.

0

ArangoDB는 ArangoDB 버전 3.0부터 VelocyPack을 내부 저장 형식으로 사용합니다. VelocyPack에는 Date 데이터 유형과 JSON에없는 다른 데이터 유형이 있습니다.

ArangoDB의 내부 저장소 형식으로 VelocyPack이 사용 되더라도 ArangoDB의 모든 외부 API는 여전히 JSON 기반이므로 JSON에서 기본적으로 지원하는 데이터 형식 (null, boolean, number, string, array, 목적).

더 많은 (JSON이 아닌) 데이터 유형에 대한 지원은 로드맵에 있지만 아직 ArangoDB 3.1에서는 제공되지 않습니다. 더 많은 데이터 유형을 지원하려면 이러한 데이터 유형에 대한 내부 래퍼 함수를 ​​작성하고 모든 AQL 연산자를 올바르게 처리해야합니다.

그래서 버전 3.1에서 날짜 값을 저장하기위한 옵션 (예를 들어 ISO8601 포맷 등 2016-11-10T14:08:20.236Z) 또는가 타임 스탬프를 저장하는 숫자 값을 사용하여 날짜 문자열을 사용하여 계속된다.

+0

해명 해 주셔서 감사합니다. 그러나 mpv1989에서 언급했듯이 java 드라이버 버전 4.1.x는 이미 JSON 대신 VelocyPack을 사용하므로이 java 드라이버에서 날짜 유형을 저장할 수 있습니다. – GeorgeG

+0

서버 및 AQL에서 JSON 이외의 데이터 유형에 대한 적절한 지원을 추가하려면해야 할 일 목록이 있지만 단기간 내에는 존재하지 않습니다. 그러나 우리는 또한 그렇게하는 것이 중요하다고 생각합니다. – stj