使用Scala从mongodb访问值



执行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)

最新更新