执行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
方法访问该值。
当您正在返回Option
对象时,我建议使用proper进行理解,以避免运行时异常;类似于:
val optionalResult = for {
doc <- res.headOption
element <- doc.get[BsonString]("n")
} yield (element.getValue)
CCD_ 11将是CCD_。然后,您可以检查是否有一个值并使用它;通过map、flatMap、foreach甚至if (optionalResult.isDefined)
。