Playframework 播放被动mongo:更新操作

Playframework 播放被动mongo:更新操作,playframework,reactivemongo,Playframework,Reactivemongo,我正在使用Play2.2.3和PlayReactiveMongo 0.10.2(递归使用reactivemongo 0.10.0)启动一个项目 我已经阅读了reacticemongo和play reactivemongo的文档,以及在github上找到的一些projet,但我不知道如何以最干净的方式管理mongo的id 由于懒惰,我决定使用json读写器的自动生成(如中所示) 在同一个文档中,下面是一个很好的示例,说明了如何在集合中插入和查找文档。 但它并没有提到更新 当您必须更新文档时,如何处

我正在使用Play2.2.3和PlayReactiveMongo 0.10.2(递归使用reactivemongo 0.10.0)启动一个项目

我已经阅读了reacticemongo和play reactivemongo的文档,以及在github上找到的一些projet,但我不知道如何以最干净的方式管理mongo的id

由于懒惰,我决定使用json读写器的自动生成(如中所示)

在同一个文档中,下面是一个很好的示例,说明了如何在集合中插入和查找文档。 但它并没有提到更新

当您必须更新文档时,如何处理“_id”

有人问我一个例子。这里有一个 我在调用/bookmarks路由时遇到运行时异常。
[运行时异常:JsError(List(/_id,List(ValidationError(error.expected.jsstring,WrappedArray()))),(/tags,List(ValidationError(error.path.missing,WrappedArray())));]

为什么不把
id
\u id
字段放在您的案例类中呢?

我尝试过它,但它在读写器生成和从BSONDocument到model objects的自动类型转换方面效果不佳,你能告诉我更多关于你遇到的问题吗?这是一个我与“\u id”有关的问题的例子。我在调用/bookmarks路由时遇到运行时异常。嗨,Manuel,你解决了你的问题吗?我在被动mongo findAndUpdate中遇到了同样的问题,在网上找不到很多有用的信息。
package models

case class User(
  age: Int,
  firstName: String,
  lastName: String,
  feeds: List[Feed])

case class Feed(
  name: String,
  url: String)

object JsonFormats {
  import play.api.libs.json.Json
  import play.api.data._
  import play.api.data.Forms._

  // Generates Writes and Reads for Feed and User thanks to Json Macros
  implicit val feedFormat = Json.format[Feed]
  implicit val userFormat = Json.format[User]
}