执行MongoDB查询后,我的结果类型为: exists("loaded_nerd_tree")
要访问我使用的res = Seq[Document]
:BsonString
返回:
res (0).get("n"))
如何从BsonString中以字符串形式访问值Some(BsonString{value='value'})
?
访问value
的值返回Some(BsonString{value='value'})
我是否需要使用库(例如Jackson)将BsonString{value='value'}
转换为Scala对象,然后访问该值?
答案 0 :(得分:1)
我想你使用的是mongo scala驱动程序(而不是ReactiveMongo)。
在这种情况下,返回的BsonString
是一个java对象; here是指向javadoc的scaladoc。
您可以通过getValue
方法访问该值。
当你回到Option
个对象时,我建议使用正确的理解来避免运行时异常;类似的东西:
val optionalResult = for {
doc <- res.headOption
element <- doc.get[BsonString]("n")
} yield (element.getValue)
optionalResult
的类型为Option[String]
。
然后,您可以检查是否有值并使用它;通过map,flatMap,foreach甚至if (optionalResult.isDefined)
。