MongoDb。从数据库中提取整数。无法将java.lang.Integer转换为java.lang.String
我是MongoDb的新手。我试图从数据库中检索数据。以下是我的部分代码:MongoDb。从数据库中提取整数。无法将java.lang.Integer转换为java.lang.String,java,scala,mongodb,casbah,Java,Scala,Mongodb,Casbah,我是MongoDb的新手。我试图从数据库中检索数据。以下是我的部分代码: dbc(TABLENAME).find ( MongoDBObject (UID -> uid)).toList.foreach {s => val Rollno = s.getAs[String](ROLL).getOrElse ("?") 显然,ROLL被设置为integer,我不断得到错误java.lang.ClassCastException:java.lang.integer不能
dbc(TABLENAME).find ( MongoDBObject (UID -> uid)).toList.foreach {s =>
val Rollno = s.getAs[String](ROLL).getOrElse ("?")
显然,ROLL被设置为integer,我不断得到错误java.lang.ClassCastException:java.lang.integer不能转换为java.lang.String
有一个简单的解决方案吗?把它作为一个整数,然后使用toString怎么样
dbc(TABLENAME).find ( MongoDBObject (UID -> uid)).toList.foreach {s =>
val Rollno = s.getAs[Int](ROLL).map(_.toString).getOrElse("?")
把它作为一个整数,然后使用toString怎么样
dbc(TABLENAME).find ( MongoDBObject (UID -> uid)).toList.foreach {s =>
val Rollno = s.getAs[Int](ROLL).map(_.toString).getOrElse("?")
+1或作为一个对象,以防它可以是整数或字符串(但只有在可能的情况下,否则就不需要过于宽松)。此外,我会尽可能长时间地推迟这个
getOrElse
。我假设您将None
替换为“?”
,以便在某处打印/输出值。但是,如果您的条件依赖于Rollno
,并且位于检索对象和输出对象的点之间,那么如果您可以匹配Some
/None
,而不是某个字符串/“?”,则会更加清晰。特别是如果“?”实际上可能是一个有效的结果,例如,如果您检索一个可能包含任意用户输入的字段-因此也可能是“?”-但它也可能不存在。+1或可能作为一个对象,如果它可以是整数或字符串(但只有在可能的情况下,否则无需过度松弛)。此外,我会尽可能长时间地推迟这个getOrElse
。我假设您将None
替换为“?”
,以便在某处打印/输出值。但是,如果您的条件依赖于Rollno
,并且位于检索对象和输出对象的点之间,那么如果您可以匹配Some
/None
,而不是某个字符串/“?”,则会更加清晰。特别是如果“?”实际上可能是一个有效的结果,例如,如果您检索一个可能包含任意用户输入的字段-因此也是“?”-但它也可能不存在。