programing

스프링 부트를 통해 초기 데이터를 MongoDB에 로드하려면 어떻게 해야 합니까?

linuxpc 2023. 6. 30. 22:08
반응형

스프링 부트를 통해 초기 데이터를 MongoDB에 로드하려면 어떻게 해야 합니까?

초기 데이터를 로드할 수 있습니까?MongoDB데이터베이스:사용src/main/resources/data.sql아니면 다른 파일로?

이해는 합니다.data.sql에 사용됩니다.SQL반면에 DB는MongoDB이다.NOSQLDB. 하지만 그에 상응하는 것이 있는지 알고 싶었습니다.data.sql위해서NOSQLDB의.

검색하는 동안 내가 찾고 있는 것을 수행하는 이 SO 링크(Spring Boot - Loading Initial Data)를 발견했지만 독립 실행형 파일은 아닙니다.data.sql.

초기 데이터를 로드하려면 MongoBee와 같은 db 마이그레이션 도구를 사용할 수 있습니다.

Java에서 데이터 초기화를 처리하는 데 매우 유용한 옵션입니다.구성하기만 하면 됩니다.@Bean public Mongobee mongobee데이터 생성이 실제로 발생하는 데이터 ChangeLogs에 대한 스프링 부팅 및 설정 구성 요소 스캔.

Spring Data MongoDB와 함께 저장소 채우기 도구를 사용할 수 있습니다.코틀린에서 코드 샘플을 사용하여 이를 시연해 보겠습니다.

@Configuration
class TestApplicationConfig {
    @Value("classpath:test_data.json")
    private lateinit var testData: Resource

    @Bean
    @Autowired
    fun repositoryPopulator(objectMapper: ObjectMapper): Jackson2RepositoryPopulatorFactoryBean {
        val factory = Jackson2RepositoryPopulatorFactoryBean()
        // inject your Jackson Object Mapper if you need to customize it:
        factory.setMapper(objectMapper)
        factory.setResources(arrayOf(testData))
        return factory
    }
}

놓다test_data.json리소스 디렉터리에 있습니다.

json/xml에서 데이터를 정의하고 저장소의 populator 요소를 사용하여 데이터를 로드할 수 있습니다.

https://docs.spring.io/spring-data/mongodb/docs/2.0.9.RELEASE/reference/html/ #core.core 저장소 관리자

언급URL : https://stackoverflow.com/questions/47678465/how-can-you-load-initial-data-in-mongodb-through-spring-boot

반응형