我在MongoDB文檔中有一個字段,它存儲了一個任意大的數字。當我找回它作爲一個DBOBJECT(Java驅動程序MongoDB的),我有時會碰上一個ClassCastException:MongoDB/Java:DBObject中的類型安全
DBObject obj = collection.findOne();
long val = (Long)(o.get("numericVal"));
如果存儲在numericVal
值,也就是說,1234567890,投龍成功。如果它是,例如12345,DBObject.get()返回一個Double,並且轉換失敗。
如何在反序列化MongoDB DBObjects時確保類型安全?
你正值爲'12345'? mongo有什麼方法來查看原始值 - 它是否具有JSON表示? –
我通過shell作爲12345輸入它,但是當我在shell中打印它時,它顯示爲12345.0。顯然這是解析器(java驅動程序)方面的問題,但我不知道它是如何發生在mongo方面的。那就是說,我想知道如何通過java驅動程序來保持類型安全。 – ericsoco