MongoDB
-
[Docker] 개발용 데이터베이스 띄우기(MySQL, PostgreSQL, MongoDB)Backend 2022. 3. 27. 13:20
실무에서 프로젝트를 진행할때나 개인 프로젝트를 진행할 때 로컬에 데이터베이스를 띄워야 하는 경우가 있다. 그런데 프로젝트마다 필요한 데이터베이스도 다르고, 같은 데이터베이스라도 여러 설정이 달라야할 수 있다. 이때 프로젝트별로 필요한 데이터베이스 환경을 컨테이너로 만들어놓으면 굉장히 편리한데, 특히 협업을 하는 경우 이 환경을 docker-compose.yml 파일로 만들어놓으면 동일한 데이터베이스 환경에서 개발을 할 수 있다. Docker Compose를 이용해서 오픈소스 데이터베이스 3대장인 MySQL, PostgreSQL, MongoDB를 띄우는 방법을 알아보자. MySQL MySQL을 docker-compose로 띄우기 위한 기본 설정은 다음과 같다. version: "3.9" services: ..
-
[MongoDB] 배열 필드의 lookup 시 도큐먼트 순서Database 2021. 11. 23. 23:50
MongoDB는 relation의 개념이 없는 대표적인 NoSQL 데이터베이스이다. 하지만 MongoDB에서 RDB의 join처럼 서로 다른 collection을 참조할 수 있는 방법이 있는데, 바로 aggregation의 $lookup을 사용하는 것이다. $lookup 사용법 $lookup의 기본적인 동작을 확인하기 위해서 다음과 같은 테스트 데이터를 준비한다. db.tasks.insert([ { "_id": 1, "name": "task1", "required_time": 8 }, { "_id": 2, "name": "task2", "required_time": 2 }, { "_id": 3, "name": "task3", "required_time": 6 }, { "_id": 4, "name": "t..