从documentation可以看出,我应该能够使用WriteResult.ok
,WriteResult.code
和WriteResult.n
来理解错误和更新文档的数量,但这不起作用。这是我正在做的示例(使用reactMongoDB / Play JSON集合插件):
def updateOne(collName: String, id: BSONObjectID, q: Option[String] = None) = Action.async(parse.json) { implicit request: Request[JsValue] =>
val doc = request.body.as[JsObject]
val idQueryJso = Json.obj("_id" -> id)
val query = q match {
case Some(_) => idQueryJso.deepMerge(Json.parse(q.get).as[JsObject])
case None => idQueryJso
}
mongoRepo.update(collName)(query, doc, manyBool = false).map(result => writeResultStatus(result))
}
def writeResultStatus(writeResult: WriteResult): Result = {
// NOT WORKING
if(writeResult.ok) {
if(writeResult.n > 0) Accepted else NotModified
} else BadRequest
}
答案 0 :(得分:0)
我可以在这里给出替代方法吗?您说:
“为了了解错误和更新的文档数量,但这不起作用”
为什么不使用Play提供的日志记录功能?总体思路是:
log
来输出一条消息,无论是可以,还是不能。这种方法在将来很有可能:您可以将日志保存到第三方服务中,并将监视功能放在其顶部。
现在,如果我们看一下文档here,您会看到关于different log levels和how to use the logger的信息。