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



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

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

  • bson-宏的描述
  • 斯卡拉多克

最新更新