我的每个文档中都有一个timestamp
字段。 时间戳采用ISODate
格式。有什么方法可以在文档资源管理器或查询资源管理器中使用它对数据进行排序?
每个文档都有一个名为"_ts"的默认时间戳字段。例如,您可以使用以下查询获取最后的文档:
SELECT * FROM c ORDER BY c._ts DESC
如果您的 ISO 日期字符串字段上有全精度 (-1) 索引,则 ORDER BY 按预期工作。
将日期存储为纪元,而不是 ISO 日期。如果您需要文档中的人类可读日期,则可以同时存储两者。
看到这个 https://azure.microsoft.com/en-us/blog/working-with-dates-in-azure-documentdb-4/
-根据评论和 Larry 的回答,您可以使用精度为 -1 的范围索引(范围索引的要求)。可以从门户将索引要求设置为 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 或一段时间前使用门户创建了集合,则字符串的默认索引将为哈希索引。