Response for this query is sequence of objects, not values:
{ subscriberId : "foo" }
So, you need to define case class with single field for this id and then set cursor type as this case class or try something like that:
collection
.find(
Json.obj("relateds" -> Json.obj("$elemMatch" -> activityRelated)),
Json.obj("subscriberId" -> 1, "_id" -> 0)
)
.cursor[JsValue]
.collect[Seq]()
.map(_.map(_.\("subscriberId").as[BSONObjectID]))