通过 Azure 流分析将 ISODate 字段作为 CosmosDB 中的服务插入 MongoDB
Inserting ISODate field through azure stream analytics to MongoDB as a service in CosmosDB
我正在通过 Azure 流分析作业将文档插入 MongoDB(作为 CosmosDB 中的一项服务)。
除了以字符串形式而不是日期时间字段形式到达数据库的时间字段外,一切正常。
问题是 Azure 流分析仅适用于有效的 JSON 格式,而 mongoDB 接受有点不同的格式。
目前这是 JSON 发送的消息:
{
"Time" : "08/16/2017 19:20:00"
}
虽然 MongoDB 应该得到这个:
{
"Time" : ISODate("08/16/2017 19:20:00")
}
我无法通过流分析生成 ISODate 语法,因为它不是有效的 json 格式。
有什么想法吗?
我发现 this link 这可能对您有所帮助。您需要将日期作为自 1970 年纪元以来的毫秒数发送,而不是作为字符串发送。因此,您发送到 mongo 的有效 json 将类似于:
{
"Time" : { "$date": 1502904000000 }
}
编辑:
user2681670 使用了以下工作解决方案:
{
"Time" : { "$date": "2017-09-19T06:59:27.000Z"}
}
我正在通过 Azure 流分析作业将文档插入 MongoDB(作为 CosmosDB 中的一项服务)。 除了以字符串形式而不是日期时间字段形式到达数据库的时间字段外,一切正常。
问题是 Azure 流分析仅适用于有效的 JSON 格式,而 mongoDB 接受有点不同的格式。
目前这是 JSON 发送的消息:
{
"Time" : "08/16/2017 19:20:00"
}
虽然 MongoDB 应该得到这个:
{
"Time" : ISODate("08/16/2017 19:20:00")
}
我无法通过流分析生成 ISODate 语法,因为它不是有效的 json 格式。
有什么想法吗?
我发现 this link 这可能对您有所帮助。您需要将日期作为自 1970 年纪元以来的毫秒数发送,而不是作为字符串发送。因此,您发送到 mongo 的有效 json 将类似于:
{
"Time" : { "$date": 1502904000000 }
}
编辑:
user2681670 使用了以下工作解决方案:
{
"Time" : { "$date": "2017-09-19T06:59:27.000Z"}
}