我正在使用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。 有什么建议吗?