javascript - Azure DocumentDB(Cosmos DB?)时间戳问题

标签 javascript azure azure-cosmosdb azure-functions

我有一个 Azure DocumentDB 集合,我正在通过事件中心触发的函数向其中写入带时间戳的文档。 写入文档的时间戳 (my_timestamp) 来自处理事件的函数,并且我已确认它是准确的。

我遇到的问题是,由 DocumentDB 本身创建的 _ts 元数据时间戳显示的是一个 unix 时间戳值,该值比我正在创建的时间戳早几秒,即它实际上应用了早于创建文档的函数执行开始的时间戳...

看来这可能是底层 DocumentDB 机制中的一个怪癖。

无论如何,我想看看是否有其他人遇到这种差异。以下是我的文档中出现的时间戳:

"my_timestamp": 1499301915, // here's my timestamp that originates from the Azure Function
"_ts":          1499301899  // and here's the timestamp created by DocDB?

以及用于在 Azure 函数中派生 my_timestamp 的代码:

var timeStamp = + Math.floor(new Date().getTime() / 1000);

最佳答案

据我所知,_ts字段是一个unix风格的纪元时间戳,表示日期和时间,每次修改文档时都会更新它。

Anyway, I wanted to see if anyone else is encountering this discrepancy.

根据您的描述,我检查了这个问题,并且我多次遇到同样的问题。但是今天检查这个问题时,我无法重现这个问题,这是我的测试代码:

Javascript

var doc={
    timestamp:Math.floor(new Date().getTime() / 1000)
    };

context.bindings.outputDocument = doc;

setTimeout( function() { 
    context.res={
        status:200,
        body:JSON.stringify(doc)
    };
    context.done();
}, 10*1000);

通过 Azure 门户的查询资源管理器查询结果:

enter image description here

此外,我还检查了 azure 函数 C# 模板和 DocumentDB 客户端 SDK 以添加新文档。如果您仍然存在此问题,我认为您可以添加您的反馈here .

关于javascript - Azure DocumentDB(Cosmos DB?)时间戳问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44938271/

相关文章:

javascript - "getDate().toJSON()"失去一天

azure - 在 Azure Devops 中运行 Canopy

javascript - HTML 变量和文本值传输到 PHP/javascript?

javascript - 通过php将dataURL图像保存到本地

azure - 无法使用 GitHub Actions 部署到 Azure 容器 - 部署失败,错误为 : Error: Failed to get app runtime OS

c# - Cosmos DB 中的重试策略

c# - Cosmos DB 返回 404

Java - DocumentDB未经授权的访问

azure - 空闲后通过 Mongo API 连接到 CosmosDB 失败

javascript - 我无法在 IE7 上获取 window.innerHeight。怎么修?