Json 使用Scala从mongodb访问值

Json 使用Scala从mongodb访问值,json,mongodb,scala,Json,Mongodb,Scala,执行MongoDB查询后,我的结果类型为:res=Seq[Document] 要访问BsonString我使用:res(0.get(“n”)) 返回: Some(BsonString{value='value'}) 如何从BsonString以字符串形式访问值value 访问Some(BsonString{value='value'})的值返回BsonString{value='value'}我是否需要使用库(例如Jackson)将BsonString{value='value'}转换为Sca

执行MongoDB查询后,我的结果类型为:
res=Seq[Document]

要访问
BsonString
我使用:
res(0.get(“n”))

返回:

Some(BsonString{value='value'})
如何从BsonString以字符串形式访问值
value


访问
Some(BsonString{value='value'})的值
返回
BsonString{value='value'}
我是否需要使用库(例如Jackson)将
BsonString{value='value'}
转换为Scala对象,然后访问该值?

我假设您使用的是mongo Scala驱动程序(而不是ReactiveMongo)

在这种情况下,返回的
BsonString
是一个java对象;是指向javadoc的scaladoc

您可以通过
getValue
方法访问该值

当您返回
选项
对象时,我建议使用适当的理解来避免运行时异常;比如:

val optionalResult = for {
  doc <- res.headOption
  element <- doc.get[BsonString]("n")
} yield (element.getValue)
val optionalResult=for{

谢谢,你让我走上了正轨,我需要将你的理解修改为:val optionalResult=for{doc我编辑了答案,明确要求使用
BsonString
asString
方法是在java类上定义的,如果不是
BsonString
,就会抛出一个异常。如果值不是
B,最好使用scala
文档
类中定义的机制返回
None
宋体字符串