在MongoDB中保存纳秒时间戳(Go生成,使用Node.js保存)



我正试图将Unix时间戳(以纳秒为单位(存储到Mongodb数据库的Date类型字段中。

以纳秒为单位的unix时间戳是在Go程序中生成的(带有time.Now().UnixNano()(,提交给Kafa由Node.js脚本读取,该脚本使用mongoose将包含以纳秒为单元的unix时间标记的有效负载对象写入Mongodb存储。

然而,这是抛出一个错误

未处理的PromiseRetention警告:验证错误:交易验证失败:时间戳:对于路径"timestamp"处的值"1544720051987010000",强制转换到日期失败

是否有更好的方法在Mongodb中以纳秒为单位存储unix时间戳?

我正在尝试将Unix时间戳(以纳秒为单位(存储到Date类型中Mongodb数据库的字段。Nyxynyx

这行不通。


在内部,Date对象存储为带符号的64位整数表示自Unix时期(Jan 1,1970(。

MongoDB参考:日期((


例如,

package main
import (
"fmt"
"time"
)
func main() {
timestamp := time.Now().UnixNano() / int64(time.Millisecond)
fmt.Println(timestamp)
}

游乐场:https://play.golang.org/p/21S_DeVA4jv

输出:

1257894000000

要存储Unix纳秒,请使用长数据类型。

最新更新