2016-05-27 9 views

答えて

0

ISO日付ではなく、エポックとして日付を格納します。文書内に人間が判読可能な日付が必要な場合は、両方を保存することができます。コメントを1として 、とラリーの答えは、あなたが精密-1(範囲のインデックス作成のための要件)と範囲のインデックスを使用することができます -

はこの1 https://azure.microsoft.com/en-us/blog/working-with-dates-in-azure-documentdb-4/

を参照してください。索引要件は、ポータルからjsonまたはコードで設定できます。あなたは、文字列のデフォルトのインデックスは、ハッシュインデックスになりますポータルを使用して前にAPIまたはいくつかの時間を使って、コレクションを作成した場合は、さらに詳細について

new IncludedPath { 
    Path = "/your_iso_property_path" , 
    Indexes = new Collection<Index> { 
     new RangeIndex(DataType.String) { Precision = -1 } 
    } 
}); 

https://azure.microsoft.com/nb-no/documentation/articles/documentdb-indexing-policies/

を参照してください。

+1

をし、それがより多くのスペースが効率的ですが、私はパフォーマンスであることをISO日付文字列を使用して発見した: あなたは、たとえば次のクエリで最後の文書を取得することができます。それは人間が読めるものであり、あなたが示唆するように堕落(「両方を保存する」)を加える必要はありません。 –

1

ISO日付文字列フィールドORDER BYに完全精度(-1)インデックスがある場合、期待どおりに機能します。

+0

ああ、申し訳ありませんが私はあなたが言ったことを得るdidnt。あなたはそれを精巧にできますか? –

+1

値のすべてのデータを使用するインデックスポリシーを指定する必要があります。それがなければ、DocumentDBは最初の3バイトのみを使用します。範囲インデックスを指定したいとします。 –

4

各ドキュメントには、デフォルトのタイムスタンプフィールド '_ts'があります。オプションです

SELECT * FROM c ORDER BY c._ts DESC

関連する問題