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

Scala mongo driver custom codec for case classes

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

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