티스토리 뷰

반응형

프로젝트 생성하기

 

https://start.spring.io/#!type=maven-project&language=kotlin&platformVersion=2.3.3.RELEASE&packaging=jar&jvmVersion=1.8&groupId=com.imtae&artifactId=chapter5&name=chapter5&description=study&packageName=com.imtae.chapter5&dependencies=data-mongodb-reactive,webflux

 

 

위와 같이 프로젝트를 생성해줍니다.

 

 

프로젝트 시작하기

 

프로젝트 폴더 안에 data 폴더를 생성한 후 프로젝트 폴더에서 아래 명령을 입력합니다.

mongod -dbpath data

 

그리고 프로젝트의 application.yml에 아래와 같이 작성해줍니다.

spring:
  data:
    mongodb:
      uri: "mongodb://localhost:27017"
      database: "test"

 

uri 부분에서는 서버를 실행할 때 알려주는 포트 번호를 입력하면 됩니다.

 

 

MongoDB에 명령하기

DatabaseInitializer Class를 하나 만들었습니다.

 

@Component
class DatabaseInitializer {

    @Autowired
    lateinit var mongoOperations: ReactiveMongoOperations

    @PostConstruct
    fun init() {
        mongoOperations.collectionExists("Customers").subscribe{
            if (it != true) {
                mongoOperations.createCollection("Customers").subscribe{
                    println("Customers Collection 생성됨.")
                }
            } else println("Customers Collection 이미 있음.")
        }
    }
}

 

mongoOperations는 ReactiveMongoOperations를 받아오고 있습니다.

mongoOperations를 사용하여 컬렉션이 있는지 확인하고 생성하는 코드를 작성하였습니다.

 

 

반응형
댓글