I am having a hard time trying to create my BSON reader/writer on play 2.1.5 with mongodb.
Here is a code excerpt in app/model/Boat.scala :
implicit object BoatBSONReader extends BSONDocumentReader[Boat] {
def read(doc: BSONDocument): Boat =
Boat(
(...)
doc.getAs[Accomodation]("accomodation").get,
(...)
)
}
Then in app/model/Accomodation.scala i have :
case class Accomodation(number_cabins: Int, cabin_configuration: Option[String], bed_configuration: Option[String], number_guest: Int)
(...)
implicit object AccomodationBSONReader extends BSONDocumentReader[Accomodation] {
def read(doc: BSONDocument): Accomodation =
Accomodation(
doc.getAs[Int]("number_cabins").get,
doc.getAs[String]("cabin_configuration"),
doc.getAs[String]("bed_configuration"),
doc.getAs[Int]("number_guest").get)
}
}
I am using the "Option[String]" on some field because those keys can be missing from mongodb record. In which case i would like to return en empty value in my scala object.
This is causing this error at compile time :
[NoSuchElementException: None.get]
doc.getAs[Accomodation]("accomodation").get,
Maybe someone will point me to the right direction.
Thanx !