我有未知的json结构数据存储在mongodb中。他们有像这样展示unix时间的字段:
"date": 1424803567,
我正在使用mgo将它们加载到bson.M.
var result bson.M
iter := c.Find(q).Iter()
for iter.Next(&result) {
那些unix时间字段已转向fload64而不是int。
"date": 1.424728798e+09,
那么,如何防止上述情况发生?谢谢!
答案 0 :(得分:1)
Mgo不会将整数解组为float,除非应用程序显式地将目标值类型化为float。 Mgo在这里返回一个浮点值,因为存储在数据库中的值是一个浮点值。
您可以通过使用struct指定类型来将浮点值解组为整数:
var result struct {
Date int64 `bson:"date"`
}
for iter.Next(&result) {
...
}