如果我像这样存储当前时间:
type Test struct {
Id string `bson:"id" json:"id,omitempty"`
TestTime time.Time `bson:"testTime" json:"testTime,omitempty"`
}
...
t := Test {
Id : "TEST0001",
TestTime : time.Now(),
}
...
c.Insert(t)
然后我使用 mongochef 来搜索它:
{
"_id" : ObjectId("576bc7a48114a14b47920d60"),
"id" : "TEST0001",
"testTime" : ISODate("2016-06-23T11:27:30.447+0000")
}
那么,mgo默认存储ISODate,我如何存储Date而不是ISODate?
最佳答案
mgo 自动将 time.Time
转换为 Mongo 内部日期数据类型( source ,实际上它只是一个没有时区信息的时间戳,并且总是更正为 UTC)。任何其他功能都必须由您手动实现。
您可以通过实现 Getter 强制 mgo 正确(反)序列化您的类型。和 Setter mgo/bson
包中的接口(interface)认为它相当低级,所以要小心。
关于mongodb - Golang/mgo : How can I store Date (not ISODate) in mongodb?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37990507/