用于案例类的 Scala mongo 驱动程序自定义编解码器

Amb*_*h B 5 scala mongodb mongo-scala-driver

scala-mongo-driver 有一个很好的文档来处理案例类。http://mongodb.github.io/mongo-scala-driver/2.3/getting-started/quick-tour-case-classes/。在当前情况下,我的案例类字段是 Option[T] 值。因此值可以是NoneSome(T)。默认编解码器现在将“无”值序列化为空。但我想排除该键,如果它的值为 None。我怎样才能获得这种行为?根据我的研究,我认为我们需要为案例类而不是默认案例类编解码器编写自定义编解码器或编解码器提供程序。

Gha*_*nge 2

自 v2.1.0 以来有一个新的宏助手:Macros.createCodecProviderIgnoreNone您可以在其中定义None在保存到数据库时将忽略的值。