MongoDB 데이터간 JOIN 방법($lookup)

MongoDB 가 하나의 컬렉션안에 다양한 계층과 릴레이션 관계를 JSON 으로 구조화 할 수 있긴 하지만, 결국에는 collection 간에 데이터를 조인(JOIN) 해야 하는 니즈는 생기기 마련이다. aggregate 함수에서는 $lookup 기능을 이용하여 컬렉션간에 데이터를 JOIN 할 수 있다.

[더 읽기]

MongoDB aggregate 함수로 피벗테이블(pivot) 만들기

회원정보, 수납내역, 일정관리 등 간단한 사이트를 개발한 적이 있는데, MongoDB 를 사용하여 데이터를 관리하고 있다. 월별로 수납정보를 피벗테이블 형태로 바꾸어 보여줘야 할 일이 생겼다. MongoDB 의 aggregate 함수를 이용해서 구현할 수 있었는데, 생각보다 소스가 너무 길어져서 mongoDB 를 괜히 사용했나 싶은 생각까지 들었다. 그 힘들었던 과정을 스탭별로 정리하기로 했다.

[더 읽기]

MongoDB aggregate 함수로 group by 기능 사용하기

MongoDB의 집계(aggregate)는 데이터베이스 내에서 데이터를 질의하고 변환하는 도구이다. 특히 필터링, 그룹화, 정렬 및 데이터 변환과 같은 작업에 유용하다보니, MongoDB 를 잘 사용하기 위해서는 aggregate 함수가 필수이다. 모든 기능을 설명하지는 못했지만, 주로 쓰는 기능위주로 정리했다.

[더 읽기]

Mongo Docker 이미지에 oh-my-zsh 설치

mongodb 는 항상 docker 이미지로 설치를 해서 사용하고 있다. 최근에 새로 svelte 프로젝트를 개발하면서 mongodb 도 필요해서 새로운 7버전 docker 이미지로 설치를 했는데, 애용하는 oh-my-zsh 설치가 정상적으로 안되는 문제가 있었다. 분명 Dockerfile 안에 설치스크립트를 넣었지만 이미지를 실행해 들어가보면 전혀 셋팅이 안되어 있는 현상이었다.

[더 읽기]

Svelte 에서 MongoDB 연결하기

Svelte 에서 MongoDB 연결하는 예시가 어디 딱 나와있지 않다. 그래서 여러 삽질을 통해 연결이 되었고 그 부분을 대략 정리해본다. 사실 javascript 에서 module 을 import 하고 export 하는 방법이 가장 난항이었다. 그 부분을 중점적으로 정리해본다.

[더 읽기]

Mongo 데이터베이스 만들기

Mongo 내에 데이터 베이스를 만들기 위한 방법은 단순히 use 데이터베이스이름으로 간단히 만들 수 있다. 자세한건 여기를 눌러 참고한다. 데이터베이스 생성을 위해서는 mongo CLI에 접속해야 하는데, mongosh 명령어로 간단히 접속할 수 있다.

[더 읽기]

MongoDB 데이터 일괄 업데이트 및 삭제방법

mongoDB atlas를 이용해서 사이트를 운영중이다. 무료로 mongoDB 클라우드 서버를 사용할 수 있는데 아주 작은 사이즈의 데이터량을 사용하는 나한테는 충분한 용량과 성능이다. 아래 그림에서 각 티어별로 부과되는 금액과 스펙차이를 볼 수 있고, 무료인 M0는 512MB의 용량을 제공한다. 최근에 mongoDB로 저장한 데이터중 일부 코드를 일괄 변경할 일이 생겨서, 방법 찾아보고 처리한 내용을 정리해본다.

[더 읽기]