我正试图将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纳秒,请使用长数据类型。