2017-08-22 19 views
0

日付2017-08-18と2017-08-22の間に作成されたすべての文書を削除します。私は、すべての文書がフィールド '_ts'の下にCosmosDB独自のタイムスタンプを持っていると言われました。私はこのクエリを使用してドキュメントをフィルタリングするためにドキュメントエクスプローラを使用しようとしましたc._ts > "2017-08-18"しかし、ドキュメントは返されません。私も引用符を使わずにc._ts > 2017-08-18を試しましたが、まったくクエリがなかったかのように、その日付以前のものを含むすべてのドキュメントを返します。ドキュメントを見ると、「_」フィールドは表示されません。これらの文書を削除する方法はありますか?おかげさまで https://msdn.microsoft.com/en-us/library/azure/microsoft.azure.documents.resource.timestamp.aspx#P:Microsoft.Azure.Documents.Resource.TimestampAzure's CosmosDB - 日付範囲内のすべての文書を削除する

_tsによれば

答えて

1

_tsは、Azureのコスモス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); 
} 
2

はアズールDocumentDBデータベースサービスからリソースに関連付けられた最終更新タイムスタンプを取得します。

[JsonPropertyAttribute(PropertyName = "_ts")] [JsonConverterAttribute(typeof(UnixDateTimeConverter))] public virtual DateTime Timestamp { get; internal set; }

そのは、POSIXまたはエポック時刻値として表されます。 00:00:00から経過した秒のその数(UTC)、1970年1月1日

関連する問題