如何为Scala创建Mongo自动Pojo转换器?

时间:2019-03-29 12:39:28

标签: mongodb scala pojo

我正在使用scala案例类和mongo db。目前,我使用从生成的编解码器 createCodecProvider

CodecRegistries.fromRegistries(
    CodecRegistries.fromProviders(createCodecProvider[EnrichedServiceDo]()),
    CodecRegistries.fromProviders(createCodecProvider[ServiceDo]()),
    CodecRegistries.fromProviders(createCodecProvider[ServiceInfoDo]()),
    CodecRegistries.fromProviders(createCodecProvider[PaymentOptionsDo]()),
DEFAULT_CODEC_REGISTRY,


    CodecRegistries.fromCodecs(
      new DocumentCodec(),
      new GuidCodec,
      new DateTimeCodec,
      new DayOfWeekCodec,
      new TransparencyDoCodec,
      new LocationTypeDoCodec,
      new BigDecimalCodec,
      new FormValueTypeCodec
    )
)

我的主要问题是我需要为每个对象添加编解码器,事实是它无法从db中读取旧对象,因为它正在寻找新键。

所以基本上我需要可以“ ignoreUnknown”或将其映射为null的东西。

我尝试使用

CodecRegistries.fromProviders(
      PojoCodecProvider.builder.conventions(org.bson.codecs.pojo.Conventions.DEFAULT_CONVENTIONS
      ).automatic(true).build)

,但仅适用于Java。 有什么建议吗?

0 个答案:

没有答案