Azure文档DB orderby timestamp字段

时间:2016-05-27 06:37:32

标签: azure azure-cosmosdb

我的每个文档中都有一个timestamp字段。时间戳采用ISODate格式。有没有办法在Document Explorer或Query Explorer中使用它对数据进行排序?

3 个答案:

答案 0 :(得分:6)

每个文档都有一个名为“_ts”的默认时间戳字段。 例如,您可以使用以下查询获取最后一个文档:

SELECT * FROM c ORDER BY c._ts DESC

答案 1 :(得分:1)

如果ISO日期字符串字段上有完整精度(-1)索引,则ORDER BY按预期工作。

答案 2 :(得分:0)

将日期存储为纪元,而不是ISO日期。如果您需要文档中可读的日期,则可以存储两者。

请参阅此https://azure.microsoft.com/en-us/blog/working-with-dates-in-azure-documentdb-4/

- 根据评论和Larry的回答,您可以使用精度为-1的Range索引(范围索引的要求)。您可以将门户网站的索引要求设置为json或代码。

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/

如果您使用API​​创建了集合,或者不久前使用门户创建了集合,则字符串的默认索引将是哈希索引。