【发布时间】:2015-04-30 16:43:17
【问题描述】:
我最近开始研究 play 和响应式 mongo。参考reactive mongo documentation 创建一个 SimpleAlbum。当我运行 play 应用程序时,我收到类似“隐式修饰符不能用于顶级对象”的错误。为什么我会得到这个?帮助我解决问题。谢谢
package models
import org.joda.time.DateTime
import reactivemongo.bson._
case class SimpleAlbum(
title: String,
releaseYear: Int,
hiddenTrack: Option[String],
allMusicRating: Option[Double])
implicit object SimpleAlbumWriter extends BSONDocumentWriter[SimpleAlbum] {
def write(album: SimpleAlbum): BSONDocument = BSONDocument(
"title" -> album.title,
"releaseYear" -> album.releaseYear,
"hiddenTrack" -> album.hiddenTrack,
"allMusicRating" -> album.allMusicRating)
}
implicit object SimpleAlbumReader extends BSONDocumentReader[SimpleAlbum] {
def read(doc: BSONDocument): SimpleAlbum = {
SimpleAlbum(
doc.getAs[String]("title").get,
doc.getAs[Int]("releaseYear").get,
doc.getAs[String]("hiddenTrack"),
doc.getAs[Double]("allMusicRating"))
}
}
【问题讨论】: