0
我有未知的json結構數據存儲在mongodb中。他們有這樣的字段來呈現unix時間:如何防止mgo解組int到float64
"date": 1424803567,
我正在使用mgo將它們加載到bson.M.
那些unix時間字段已轉向fload64而不是int。
"date": 1.424728798e+09,
那麼,如何防止上述情況發生呢?謝謝!
我有未知的json結構數據存儲在mongodb中。他們有這樣的字段來呈現unix時間:如何防止mgo解組int到float64
"date": 1424803567,
我正在使用mgo將它們加載到bson.M.
那些unix時間字段已轉向fload64而不是int。
"date": 1.424728798e+09,
那麼,如何防止上述情況發生呢?謝謝!
Mgo不會將整數解組到浮點,除非目標值被應用程序明確鍵入爲浮點。 Mgo在這裏返回一個浮點值,因爲存儲在數據庫中的值是一個浮點數。
可以通過使用一個結構指定類型解編float值的整數:
var result struct {
Date int64 `bson:"date"`
}
for iter.Next(&result) {
...
}
只需檢查數據庫中的數據。這確實是浮法。所以,這是數據輸入的問題。它通過使用UseNumber()而不是Unmarshal直接解碼來解決。謝謝! – 2015-02-24 22:13:16