sql >> Base de Datos >  >> NoSQL >> MongoDB

Establecer el convertidor MongoDb mediante programación

Esta respuesta puede llegar un poco tarde para el OP, pero me encontré con el mismo problema hoy y encontré una solución...

Para configurarlo mediante programación, debe llamar a MongoMappingConverter.afterPropertiesSet() antes de usarlo. Me di cuenta de esto al leer el código de MongoTemplate.getDefaultMongoConverter(MongoDbFactory) .

He aquí un ejemplo:

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);