为了账号安全,请及时绑定邮箱和手机立即绑定

如何防止 mgo 将 int 解组为 float64

如何防止 mgo 将 int 解组为 float64

Go
MM们 2021-09-13 20:16:51
我在 mongodb 中存储了未知的 json 结构数据。他们有这样的字段来显示 unix 时间:"date": 1424803567,我正在使用 mgo 将它们加载到 bson.M。var result bson.Miter := c.Find(q).Iter()for iter.Next(&result) {那些 Unix 时间字段已转向 fload64 而不是 int。 "date": 1.424728798e+09,那么,如何防止在上述情况下发生这种情况?谢谢!
查看完整描述

1 回答

?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

除非应用程序将目标值显式键入为浮点数,否则 Mgo 不会将整数解组为浮点数。Mgo 在这里返回一个浮点值,因为存储在数据库中的值是一个浮点数。


您可以通过使用结构指定类型来将浮点值解组为整数:


var result struct {

  Date int64 `bson:"date"`

}

for iter.Next(&result) {

  ...

}


查看完整回答
反对 回复 2021-09-13
  • 1 回答
  • 0 关注
  • 191 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信