MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Defina o conversor MongoDb programaticamente


Esta resposta pode estar um pouco atrasada para o OP, mas acabei de encontrar o mesmo problema hoje e encontrei uma solução ...

Para configurá-lo programaticamente, você precisa chamar MongoMappingConverter.afterPropertiesSet() antes de usá-lo. Percebi isso lendo o código para MongoTemplate.getDefaultMongoConverter(MongoDbFactory) .

Aqui está um exemplo:
MappingMongoConverter converter = new MappingMongoConverter(mongoDbFactory, context);
converter.setTypeMapper(mapper);
converter.setCustomConversions(new CustomConversions(
        Arrays.asList(
                new TimeZoneReadConverter(),
                new TimeZoneWriteConverter()
        )
));
converter.afterPropertiesSet();
MongoTemplate template = new MongoTemplate(mongoDbFactory, converter);