MongoDb。从数据库中提取整数。无法将java.lang.Integer转换为java.lang.String

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不能

我是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不能转换为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
,而不是某个字符串/“?”,则会更加清晰。特别是如果“?”实际上可能是一个有效的结果,例如,如果您检索一个可能包含任意用户输入的字段-因此也是“?”-但它也可能不存在。