我的每个文档中都有一个timestamp
字段。时间戳采用ISODate
格式。有没有办法在Document Explorer或Query Explorer中使用它对数据进行排序?
答案 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创建了集合,或者不久前使用门户创建了集合,则字符串的默认索引将是哈希索引。