2015-02-24 291 views
0

我有未知的json結構數據存儲在mongodb中。他們有這樣的字段來呈現unix時間:如何防止mgo解組int到float64

"date": 1424803567, 

我正在使用mgo將它們加載到bson.M.

​​

那些unix時間字段已轉向fload64而不是int。

"date": 1.424728798e+09, 

那麼,如何防止上述情況發生呢?謝謝!

回答

0

Mgo不會將整數解組到浮點,除非目標值被應用程序明確鍵入爲浮點。 Mgo在這裏返回一個浮點值,因爲存儲在數據庫中的值是一個浮點數。

可以通過使用一個結構指定類型解編float值的整數:

var result struct { 
    Date int64 `bson:"date"` 
} 
for iter.Next(&result) { 
    ... 
} 
+0

只需檢查數據庫中的數據。這確實是浮法。所以,這是數據輸入的問題。它通過使用UseNumber()而不是Unmarshal直接解碼來解決。謝謝! – 2015-02-24 22:13:16