MongoDB3 Spring Boot 3.x Embedded MongoDB Transaction + Replica set Test 1. 소개 스프링 부트와 자바를 사용하고 있고 데이터 베이스는 몽고 디비를 사용하는 곳에서 테스트하기 위한 방법은 저번에 한 번 글로 다룬 적이 있습니다. https://techjisu.tistory.com/180 MongoDB 테스트하기(TestContainer 및 memory DB) 이번에 몽고 디비를 공부하면서 어떻게 테스트할까라는 생각으로 공부하고 글을 작성하게 되었습니다. 기존에는 RDB(MySQL, PostgreSQL)를 사용하면서 hibernate를 사용했으므로 프로덕트 코드는 RDB에 techjisu.tistory.com 여기서 테스트 컨테이너를 사용하면 되지만 도커가 없는 환경에서는 사용할 수 없다는 생각에 mongo-java-server 사용하여 테스트 코드를 작성하였는데요. 테스트 .. 카테고리 없음 2024. 3. 31. [MongoDB] Spring Data MongoDB lookup 몽고 디비의 lookup은 RDB에서의 Join과 같은 기능이라 생각하시면 됩니다. 몽고 디비는 유연한 스키마와 변경이 쉬워서 기본적으로 정규화를 하지 않는게 몽고 디비의 특징이라 할 수 있습니다. 이런 특징에 맞게 RDB보다 조인 성능이 느리고 데이터를 중복해서 저장합니다. 그렇기 때문에 조인(lookup)을 하기 보다는 앱 조인이라 하는 Application Layer에서 객체 참조를 통한 조인을 하는 것이 더 효율적이라고 합니다. 글 작성 환경은 spring boot 3.2.1, spring- data-mongodb, java 17에서 작성하였습니다. 이번글에서 사용할 restaurants와 orders 컬렉션입니다. db.restaurants.insertMany( [ { _id: 1, name: .. Spring Boot/mongodb 2024. 1. 31. MongoDB 테스트하기(TestContainer 및 memory DB) 이번에 몽고 디비를 공부하면서 어떻게 테스트할까라는 생각으로 공부하고 글을 작성하게 되었습니다. 기존에는 RDB(MySQL, PostgreSQL)를 사용하면서 hibernate를 사용했으므로 프로덕트 코드는 RDB에 맞게 사용하면서 테스트 코드는 h2(인메모리 디비)를 사용해 hibernate 설정만 바꿔서 편하게 테스트할 수 있었습니다. 스프링 hibernate를 사용하지 않고 몽고 디비는 nosql이므로 기존의 방식과는 다른 방법으로 테스트를 해야 했다,, 공식적인 Spring 그래서 찾은 방법은 TestContainer와 오픈소스인 memory db를 사용하는 방법이다. 1. de.flapdoodle.embed.mongo https://mvnrepository.com/artifact/de.flapd.. Spring Boot 2024. 1. 8. 이전 1 다음