代码之家  ›  专栏  ›  技术社区  ›  Ambareesh B

scala mongo驱动程序用于case类的自定义编解码器

  •  3
  • Ambareesh B  · 技术社区  · 6 年前

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

    1 回复  |  直到 6 年前
        1
  •  1
  •   Ghashange    6 年前

    自2.1.0版以来,有一个新的宏助手: Macros.createCodecProviderIgnoreNone 你可以在哪里定义 None 保存到数据库时将忽略值。