【问题标题】:mongo db to case class coversion errormongodb到case类转换错误
【发布时间】:2016-05-29 07:07:45
【问题描述】:
我正在使用 mongoDB 并将其响应映射到 scala 中的案例类
我遇到了无法将整数转换为字符串的异常。
那么如何使我的案例类独立于数据库中的数据类型,我尝试使用 'Any' 数据类型,然后在转换为 json 时显示错误。
【问题讨论】:
标签:
json
mongodb
scala
spray
【解决方案1】:
如果没有任何示例,很难判断您的代码有什么问题,但这是一个有效的示例。也许你会找到你需要的:
import akka.http.scaladsl.model.DateTime
import reactivemongo.bson.{ BSONDocument, BSONDocumentReader, BSONDocumentWriter, BSONObjectID }
case class Role( id: BSONObjectID = BSONObjectID.generate,
name: String,
statusOrder: Int )
object Role {
implicit object RoleBSONReader extends BSONDocumentReader[ Role ] {
def read( doc: BSONDocument ): Role =
Role(
id = doc.getAs[ BSONObjectID ]( "_id" ).get,
name = doc.getAs[ String ]( "name" ).get,
statusOrder = doc.getAs[ Int ]( "status_order" ).get
)
}
implicit object RoleBSONWriter extends BSONDocumentWriter[ Role ] {
def write( role: Role ): BSONDocument =
BSONDocument(
"_id" -> role.id,
"name" -> role.name,
"status_order" -> role.statusOrder
)
}
}