Scala BSONObjectID的列表没有隐式格式

Scala BSONObjectID的列表没有隐式格式,scala,reactivemongo,playframework-2.4,play-reactivemongo,Scala,Reactivemongo,Playframework 2.4,Play Reactivemongo,我的一个模型包括一个BSONObjectId列表: case class User( _id: BSONObjectID = BSONObjectID.generate, email: String, favorite_ids: List[BSONObjectID] = List(), home_folder_id: Option[BSONObjectID] = None ) 不幸的是,编译器发出以下消息: 列表[reactivemongo.bson.BSONObjectID]

我的一个模型包括一个BSONObjectId列表:

case class User(
  _id: BSONObjectID = BSONObjectID.generate,
  email: String,
  favorite_ids: List[BSONObjectID] = List(),
  home_folder_id: Option[BSONObjectID] = None
)
不幸的是,编译器发出以下消息:

列表[reactivemongo.bson.BSONObjectID]没有隐式格式 可用

它在下面代码段的最后一行中抱怨

  import play.api.libs.json._
  import reactivemongo.bson._
  import play.modules.reactivemongo.json.BSONFormats._
  import play.modules.reactivemongo.json._, ImplicitBSONHandlers._
  import play.modules.reactivemongo.json.collection._

  implicit val userFormat = Json.format[User]
有趣的观察:当我注释列表[]行时,[BSONObjectID]选项起作用

有人知道如何包含列表格式吗?我想这应该是隐含的


谢谢

您可以尝试使用快照
“org.reactivemongo”%%“play2 reactivemongo”%%“0.11.2.play24 snapshot”


这些隐式都是由统一的
导入play.modules.reactivemongo.json提供的。\u

请查看,它表示BSON/json转换的推荐导入。我重新检查了,但找不到任何我没有使用的导入。您发现我在上述示例中没有使用的任何特定导入?如果您阅读指定的文档,您会看到“建议使用以下导入以确保JSON/BSON转换可用。
import play.modules.reactivemongo.JSON.\uu,ImplicitBSONHandlers.\u
”@cchantep谢谢,但它没有解决此问题。我更新了剪报,以明确我现在使用的是哪些导入。谢谢!我会在哪个maven repo中找到快照?如文档所示,快照位于OSS sonatype上。
scala> import play.modules.reactivemongo.json._
import play.modules.reactivemongo.json._

scala> import reactivemongo.bson._
import reactivemongo.bson._

scala> import play.api.libs.json._
import play.api.libs.json._

scala> implicitly[Reads[BSONObjectID]]
res0: play.api.libs.json.Reads[reactivemongo.bson.BSONObjectID] = play.modules.reactivemongo.json.BSONFormats$BSONObjectIDFormat$@4d27019c

scala> implicitly[Writes[BSONObjectID]]
res1: play.api.libs.json.Writes[reactivemongo.bson.BSONObjectID] = play.modules.reactivemongo.json.BSONFormats$BSONObjectIDFormat$@4d27019c

scala> implicitly[Format[BSONObjectID]]
res2: play.api.libs.json.Format[reactivemongo.bson.BSONObjectID] = play.modules.reactivemongo.json.BSONFormats$BSONObjectIDFormat$@4d27019c

scala> implicitly[Format[List[BSONObjectID]]]
res3: play.api.libs.json.Format[List[reactivemongo.bson.BSONObjectID]] = play.api.libs.json.DefaultFormat$$anon$4@43b5fbbd

scala> implicitly[Reads[JsObject]]
res4: play.api.libs.json.Reads[play.api.libs.json.JsObject] = play.api.libs.json.DefaultReads$JsObjectReads$@78a1f869

scala> implicitly[OWrites[BSONDocument]]
res5: play.api.libs.json.OWrites[reactivemongo.bson.BSONDocument] = play.modules.reactivemongo.json.ImplicitBSONHandlers$BSONDocumentWrites$@1763c4c3