get values from BsonArray in scala

1.1k Views Asked by At

I'm interesting how can I transfor value from BsonArray to Seq[String] with mongodb scala driver. I'm getting

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

from mongodb. I want to get tags as Seq[String]:

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

but getting compiller error

Too many types arguments for collect

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

Is not working too.

I don't understand why. May be there is another way to do this?

1

There are 1 best solutions below

0
On

Done with:

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