我正在尝试使用Play-ReactiveMongo插件在Play和Angular中读取/写入MongoDB中的简单记录。该插件似乎是一个不错的选择,因为它允许您使用简单的案例类和常规JSON,而不是在BSON和JSON之间显式转换。但是使用插件的几个例子似乎没有涵盖如何在同一框架内将MongoDB对象ID映射到JSON或从JSON映射。这一切似乎都适用于后台的隐式(=魔术)读取/写入,但它们似乎不处理对象ID。
我的代码基于Alex Lashford的Modern Web Template,与Stephan Godbillion's example using JSON Read/Writes非常相似,但Alex和Stephan都没有显示与MongoDB对象ID有关的内容。
我的数据记录需要某种唯一的ID,因此我可以获取和更新它们等等,使用MongoDB提供的内容是有意义的,但我似乎无法找到一种方法在内部使用它Play ReactiveMongo插件。
有没有人知道一个示例,说明如何将Play ReactiveMongo插件与JSON集合一起使用,以及某种方式将对象ID映射到JSON或从JSON映射,而无需将我的所有处理转换为使用BSON?
答案 0 :(得分:1)
我通过创建另一个internal
类来解决这个问题:
case
然后按如下方式使用它:
case class Id($oid: String)
您必须导入Json转换器
case class User(_id: Id, ...)