如何防止 mgo 将 int 解组为 float64

我在 mongodb 中存储了未知的 json 结构数据。他们有这样的字段来显示 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,

那么,如何防止在上述情况下发生这种情况?谢谢!


MM们
浏览 192回答 1
1回答

人到中年有点甜

除非应用程序将目标值显式键入为浮点数,否则 Mgo 不会将整数解组为浮点数。Mgo 在这里返回一个浮点值,因为存储在数据库中的值是一个浮点数。您可以通过使用结构指定类型来将浮点值解组为整数:var result struct {  Date int64 `bson:"date"`}for iter.Next(&result) {  ...}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go