2012-07-15 196 views
1

我是MongoDb的新手。我試圖從數據庫中檢索數據。這裏是我的代碼部分:MongoDb。從數據庫中提取整數。 java.lang.Integer不能轉換爲java.lang.String

dbc(TABLENAME).find (MongoDBObject (UID -> uid)).toList.foreach {s => 
     val Rollno = s.getAs[String](ROLL).getOrElse ("?") 

顯然ROLL設置爲整數,我不斷收到錯誤java.lang.ClassCastException:java.lang.Integer中不能轉換爲java.lang.String 是有一個簡單的解決方案來獲得它?

回答

4

如何獲得它作爲一個整數,然後使用toString?

dbc(TABLENAME).find (MongoDBObject (UID -> uid)).toList.foreach {s => 
    val Rollno = s.getAs[Int](ROLL).map(_.toString).getOrElse("?") 
+0

+1或可能爲對象,在情況下,它可以是整數或字符串(但只有當這是可能的,否則沒有必要讓過於寬鬆)。 – Thilo 2012-07-15 09:18:23

+2

另外,我會盡可能延遲這個''getOrElse''。我假設你用''「替換''None'''''來打印/輸出值。但是,如果條件依賴於''Rollno'',並且位於檢索對象的位置和輸出位置之間,那麼如果您可以匹配''Some'' /'' '不'''而不是一些字符串/「?」。特別是如果「?」實際上可能是一個有效的結果,例如,如果您檢索一個可能包含任意用戶輸入的字段 - 也就是「?」 - 但它也可能不存在。 – 2012-07-15 09:26:15

+0

這工作膨脹...謝謝你! – user1510855 2012-07-15 09:47:27

相關問題