MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Spring Mongo Populator jeden po drugim

Nie ma wbudowanego wsparcia dla twojego zapytania, ale możesz je łatwo zapewnić, modyfikując kilka klas.

Dodaj niestandardowy czytnik Jackson 2

public class CustomJackson2ResourceReader implements ResourceReader {

    private static final Logger logger = LoggerFactory.getLogger(CustomJackson2ResourceReader.class);

    private final Jackson2ResourceReader resourceReader = new Jackson2ResourceReader();

    @Override
    public Object readFrom(Resource resource, ClassLoader classLoader) throws Exception {
        Object result;
        try {
            result = resourceReader.readFrom(resource, classLoader);
        } catch(Exception e) {
            logger.warn("Can't read from resource", e);
            return Collections.EMPTY_LIST;
        }
        return result;
    }
}

Dodaj niestandardowy Populator Jackson 2

public class CustomJackson2RepositoryPopulatorFactoryBean extends Jackson2RepositoryPopulatorFactoryBean {
    @Override
    protected ResourceReader getResourceReader() {
        return new CustomJackson2ResourceReader();
    }
}

Konfiguracja

@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

    @Bean
    public AbstractRepositoryPopulatorFactoryBean repositoryPopulator(ObjectMapper objectMapper, KeyValueRepository keyValueRepository) {
        Jackson2RepositoryPopulatorFactoryBean factory = new CustomJackson2RepositoryPopulatorFactoryBean();
        keyValueRepository.deleteAll();
        factory.setMapper(objectMapper);
        factory.setResources(new Resource[]{new ClassPathResource("badclassname.json"), new ClassPathResource("good.json"), new ClassPathResource("malformatted.json")});
        return factory;
    }

}

Przesyłam działający przykład tutaj



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Pobieranie danych z mongodb przez nodejs i ekspresowe na stronę html

  2. Nie można utworzyć instancji proxy... Nie można znaleźć konstruktora bez parametrów

  3. MongoDB odrębny()

  4. Importuj plik JSON do MongoDB za pomocą mongoimport

  5. Jak skonstruować zapytanie, aby zaktualizować zagnieżdżony dokument tablicy w mongo?