【发布时间】:2018-12-13 17:05:16
【问题描述】:
我正在尝试将 Unix 时间戳(以纳秒为单位)存储到 Mongodb 数据库的 Date 类型字段中。
以纳秒为单位的 unix 时间戳在 Go 程序中生成(使用time.Now().UnixNano()),提交给 Kafa 以由 Node.js 脚本读取,该脚本使用 mongoose 将包含以纳秒为单位的 unix 时间戳的有效负载对象写入Mongodb 商店。
但是这会引发错误
UnhandledPromiseRejectionWarning:ValidationError:交易验证失败:时间戳:Cast to Date 路径“timestamp”处的值“1544720051987010000”失败
有没有更好的方法在 Mongodb 中以纳秒为单位存储 unix 时间戳?
【问题讨论】:
-
很好奇为什么不使用 Kafka Connect 框架来读取 Kafka 并写入 Mongo...
-
@cricket_007 我正在使用 Mongodb 事务,所以我选择了 Kafa 消费者而不是 Kafka 连接器。我在正确的轨道上吗?
-
我对 Mongo 还不够熟悉,但我个人更喜欢尽可能少写代码以避免重复造轮子。如果 Mongo Java API 支持事务,那么我看不出 Kafka Connect 不能使用它们的原因。但是,如果您真的想要“恰好一次”交付,也应该在 Kafka 级别启用事务支持
标签: node.js mongodb go apache-kafka unix-timestamp