CosmosDBストアード・プロシージャーとその処理については、new Date()
のガイダンスと日付の比較については制限があります。CosmosDBストアード・プロシージャー内の日付の作成と比較
次のコードは、一定時間後に文書の書き込みを「フリーズ」するためのCosmosDBストアドプロシージャです。プロパティcurrentDoc.FreezeDate
はISO-8601形式です(例: '2017-11-15T13:34:04Z'。
注:これは私が理解しようとしている状況の例です。プロダクションコードではありません。
function tryUpdate(newDoc) {
__.queryDocuments(
__.getSelfLink(),
{ /* query to fetch the document */ },
(error, results) => {
var currentDoc = results[0]; // doc from the database
// fail if the document is still locked
if (new Date(currentDoc.FreezeDate) < new Date()) {
getContext().getResponse().setBody({ success: false });
return;
}
// else update the document
/* snip */
}
);
}
私の質問は:CosmosDBストアドプロシージャ内で、特にデータベースは、呼び出しコードとは異なる領域であってもよいことを考えると、タイムゾーンによって影響new Date()
ですか?すべての状況で日付比較コードが有効ですか?
偉大な答え!これは私の心を休ませるものです。 「正しいグローバルタイム」についての面白い警告。 – Squiggle