从scala中的BsonArray获取值

时间:2018-06-01 12:55:46

标签: scala mongo-scala-driver

我有兴趣如何使用mongodb scala驱动程序将BsonArray中的值转换为Seq [String]。 我得到了

value = Document((_id,BsonObjectId{value=5b112ca63b4dbed418a55eff}), (name,BsonString{value='test'}), (type,BsonString{value='test'}), (tags,BsonArray{values=[BsonString{value='test'}]}))

来自mongodb。 我想把标签作为Seq [String]:

 value.get[BsonArray](TagsKey).get.getValues.stream.map(tag => tag.asString().getValue).collect[List[String],AnyRef](Collectors.toList)

但是出现了编译错误

  

收集

的类型参数太多
value.get[BsonArray](TagsKey).get.getValues.stream.map(tag => tag.asString().getValue).collect(Collectors.toList)

也不行。

我不明白为什么。可能有另一种方法可以做到这一点吗?

1 个答案:

答案 0 :(得分:0)

完成:

import scala.collection.JavaConverters._
value.get[BsonArray](TagsKey).get.getValues.asScala.map(tag => tag.asString().getValue)