我想删除2017-08-18和2017-08-22之间创建的所有文件。有人告诉我,所有文件都在字段'_ts'下有CosmosDB自己的时间戳。我尝试使用文档资源管理器使用此查询c._ts > "2017-08-18"
过滤文档,但它不返回任何文档。我还尝试了c._ts > 2017-08-18
没有引号但返回所有文档,甚至是那些日期之前的文档,就好像根本没有查询一样。看文件,我甚至没有看到'_ts'字段。有什么方法可以删除这些文件吗?
感谢。
答案 0 :(得分:3)
_ts
是Azure Cosmos DB的内部时间戳属性
_ts字段是表示日期和时间的unix样式的纪元时间戳。每次修改文档时都会更新_ts字段。
如果您想在日期范围内进行查询,我们可以使用udf功能轻松查询,更多详情请参阅另一个SO thread。
SELECT * FROM c where udf.udfname(c._ts)>'2017-08-18'
udf功能
function epochToDate (ts) {
return new Date(ts*1000);
}
答案 1 :(得分:2)
_ts获取与Azure DocumentDB数据库服务中的资源关联的上次修改时间戳。
[JsonPropertyAttribute(PropertyName = "_ts")]
[JsonConverterAttribute(typeof(UnixDateTimeConverter))]
public virtual DateTime Timestamp { get; internal set; }
它表示为POSIX或纪元时间值。它是自1970年1月1日00:00:00(UTC)以来经过的秒数。