2016-11-04 15 views
1

私が理解しているように、ArangoDB 3.1は、新しい内部ストレージフォーマットVelocyPackの一部として日付タイプをサポートするようになりました。 AQLクエリで日付型のフィールドを使用する方法(FILTERなど)ドキュメントはまだ日付型のフィールドのために更新されていないように見える: 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.birthdayは日付タイプのですか?

答えて

0

VelocyPackはArangoDBの内部ストレージフォーマットとして主に使用されるため、現在、VelocityPackタイプはAQL、シェル、またはWeb-Uiではサポートされていません。彼らはすべて処理のためにjsonを使用しなければなりません。

現在、日付タイプのドキュメントを作成する唯一の方法は、Java-Driver(バージョン4.1.0)を使用する方法です。ドライバは、AQLクエリの結果としてVelocyPackを取得する唯一の可能性もあります。他のすべての実装では、VelocyPackタイプを追加せずに自然にjsonを返します。

これとは別に、AQL-date関数は、現在の開発状況でVelocyPackの日付型をサポートしていません。

0

ArangoDBは、ArangoDBバージョン3.0以降、内部ストレージ形式としてVelocyPackを使用しています。 VelocyPackにはDateのデータ型と、JSONには存在しない他のデータ型があります。

ArangoDBの内部ストレージ形式としてVelocyPackが使用されていても、ArangoDBのすべての外部APIは依然としてJSONベースであるため、JSONがネイティブにサポートするデータ型(null、boolean、number、string、オブジェクト)。

より多くの(非JSON)データ型のサポートはロードマップ上にありますが、ArangoDB 3.1ではまだありません。より多くのデータ型をサポートするには、これらのデータ型用の内部ラッパー関数を記述し、すべてのAQL演算子を正しく動作させる必要があります。

そこで、バージョン3.1で日付値を保存するためのオプションは、タイムスタンプを格納するための数値を使用する日時列(例えば例えば2016-11-10T14:08:20.236ZとしてISO8601形式)又はを使用することがあります。

+0

ありがとうございます。しかし、mpv1989で述べたように、javaドライバのバージョン4.1.xでは既にJSONの代わりにVelocyPackが使用されているため、このjavaドライバで日付型を保存することは可能です。 – GeorgeG

+0

サーバーとAQLの非JSONデータ型に対する適切なサポートの追加は、予定リストにありますが、短期間ではありません。しかし、それを持つことも重要だと考えています。 – stj

関連する問題