go - 从 RethinkDB 获取时间
go - Get time from RethinkDB
我在 Go 中有一个结构 Quote
type Quote struct{
CreatedAt int64 `gorethink:"createdAt"`
// Other fields...
}
我写入RethinkDB查询数据成功
result,err:=r.Table("quote").GetAll(ids...).Run(session)
defer result.Close()
if err!=nil{
fmt.Println(err)
}
var quotes []Quote
err=result.All("es)
它确实得到了真实的结果,但是 none 条记录在 CreatedAt
字段中有值。我在数据库中用于 createdAt
的时间格式是自纪元 UTC 以来的毫秒数,我打算将它们用作数字来计算
之后
我花时间阅读了 GoDocs,发现:
func (t Time) Unix() int64
所以我认为 int64
是 CreatedAt
的正确类型,但它没有用。我应该怎么办?如何获取时间数据?
time.Time
也不起作用。如果使用 time.Time
,结果总是 0001-01-01 00:00:00 +0000 UTC
(如果转换为毫秒,则类似 0
值)
因为当我在NodeJS中构建相同的服务器时,我使用了Date.Now()
,在这种情况下我需要寻找一个等效的类型,returns一个数字供我稍后计算
使用 gorethink 时,驱动程序将自动与 GO 的本机数据类型相互转换。更改您的结构以使用 time.Time
:
type Quote struct{
CreatedAt time.Time `gorethink:"created_at"`
}
有关更多示例,您可以查看相应的 test cases。
我自己设法找到了答案。在这种情况下使用的真实类型是 float64
以便获取的结果与数据库资源管理器中的匹配(例如,1458184908597
毫秒)
我在 Go 中有一个结构 Quote
type Quote struct{
CreatedAt int64 `gorethink:"createdAt"`
// Other fields...
}
我写入RethinkDB查询数据成功
result,err:=r.Table("quote").GetAll(ids...).Run(session)
defer result.Close()
if err!=nil{
fmt.Println(err)
}
var quotes []Quote
err=result.All("es)
它确实得到了真实的结果,但是 none 条记录在 CreatedAt
字段中有值。我在数据库中用于 createdAt
的时间格式是自纪元 UTC 以来的毫秒数,我打算将它们用作数字来计算
我花时间阅读了 GoDocs,发现:
func (t Time) Unix() int64
所以我认为 int64
是 CreatedAt
的正确类型,但它没有用。我应该怎么办?如何获取时间数据?
time.Time
也不起作用。如果使用 time.Time
,结果总是 0001-01-01 00:00:00 +0000 UTC
(如果转换为毫秒,则类似 0
值)
因为当我在NodeJS中构建相同的服务器时,我使用了Date.Now()
,在这种情况下我需要寻找一个等效的类型,returns一个数字供我稍后计算
使用 gorethink 时,驱动程序将自动与 GO 的本机数据类型相互转换。更改您的结构以使用 time.Time
:
type Quote struct{
CreatedAt time.Time `gorethink:"created_at"`
}
有关更多示例,您可以查看相应的 test cases。
我自己设法找到了答案。在这种情况下使用的真实类型是 float64
以便获取的结果与数据库资源管理器中的匹配(例如,1458184908597
毫秒)