ReactiveMongo 中的方法 find 已弃用。将 'find' 与可选投影一起使用

Method find in ReactiveMongo is deprecated. Use 'find' with optional projection

我正在开发一个将游戏框架与 反应 mongo。我最近将 reactive mongo 升级到了 0.18.5 版本。 升级后我收到警告:

method find in trait GenericCollection is deprecated (since 0.16.0): Use find with optional `projection`

虽然代码可以编译并且可以很好地处理这个警告,但我想知道如何完全消除这个警告。

我尝试将投影场添加到查找方法中:

 .find(
       Json.obj(
         "cid" -> cid,
         "out"-> out,
         "isDone" -> false,
         "numberOfAttempts" -> Json.obj("$lte" -> 3),
         "isActive" -> true
       ),projection=Option.empty

但这会产生以下错误:

 both object BSONDocumentWrites in trait ImplicitBSONHandlers of type reactivemongo.play.json.package.BSONDocumentWrites.type and object JsObjectDocumentWriter in trait ImplicitBSONHandlers of type and  reactivemongo.play.json.package.JsObjectDocumentWriter.type
 match expected type play.api.libs.json.OWrites[J]

以下是我使用的库版本:

scalaVersion := "2.12.8"

libraryDependencies += "org.reactivemongo" %% "play2-reactivemongo" % "0.18.5-play27"

任何人都可以指导我如何删除此警告并正确使用投影。我知道投影用于 return 查询结果中的特定字段,但在我的例子中,我试图 return 整个对象。感谢帮助。

使用 Option.empty[JsObject] 消除投影的类型歧义(或使用消音器忽略此警告)。