result of findOne is an Option[Map[String, AnyRef]] because MongoDBObject is a Map. A Map is already a collection of pairs. To print them, simply:
for {
r <- result
(key,value) <- r
}
yield println(key + " " + value.toString)
or
result.map(_.map({case (k,v) => println(k + " " + v)}))
To serialize mongo result, try com.mongodb.util.JSON.serialize
, like
com.mongodb.util.JSON.serialize(result.get)