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]
消除投影的类型歧义(或使用消音器忽略此警告)。
我正在开发一个将游戏框架与 反应 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]
消除投影的类型歧义(或使用消音器忽略此警告)。