Mac의 경우 설치에 앞서 설치관련 Tool 인 Homebrew를 설치해야 함
Homebrew 공식 사이트에 접속 후 설치 코드 복사
Homebrew = Mac OS 용 패키지 관리 프로그램
몽고DB 설치링크 로 들어가서 좌측의 Installation 탭 클릭
각 설치가능 항목 중 Install MongoDB Community Edition 탭 클릭
+a) MongoDB 설치 버전 체크
brew search mongodb
명령어로 설치 가능한 mongoDB 버전 확인 가능
이후 원하는 버전을 brew install [mongoDB - version]
으로 설치
*헌재 개인 공부 기준으로는 4.4 version 으로 설치함
이후 안내 문구에 따라 명령어를 입력하여 실행
echo 'export PATH="/opt/homebrew/opt/mongodb-community@4.4/bin:$PATH"' >> ~/.zshrc
=> shell 구성에 설치 PATH 를 추가하여 터미널 상에서 shell을 통해 mongoDB 명령어 실행이 가능토록 함
brew services start mongodb/brew/mongodb-community@4.4
=> mongoDB 서비스가 백그라운드에서 실행가능토록 함
+a) mongoDB compass 설치
mongoDB compass는 MongoDB에서 제공하는 GUI 환경의 MongoDB 클라이언트
보다 편리한 환경에서 mongoDB를 사용가능하도록 해주는 Tool
mongoDB 연결을 테스트해보기 위해 프로젝트 폴더를 생성해줌 (ex. mongodbTest)
이후 yarn init -y
로 패키지 관리를 위한 pacakage.json
파일을 프로젝트 내에 설치
*추후 yarn 패키지 관리자로 설치할 mongoDB 를 위한 선행작업
yarn add mongodb
로 mongodb를 의존성 설치 실행함수 내부에 사용할 database를 만들고 임의로 이름 지정 (ex. firstDB)
만들어 둔 database의 하위개념(collection)을 생성 (ex. user 정보를 담는 users Collection)
이후 만들어 둔 데이터베이스 의 collection인 users에 insertOne
메서드를 사용해서 name, age 값이 들어있는 객체를 데이터로 전달 (CRUD 중 CREATE에 해당)
데이터베이스에 data를 전달하는 것은 시간이 걸리는 과정
async, await으로 비동기 처리가 필요
CRUD 관련 Docs 를 통해 각 필요 메서드를 찾아서 활용 가능
node app.js
로 실행함수를 실행시켜보면 함수 내부 로직에 따라 데이터베이스 생성 후 컬렉션 추가, 해당 컬렉션에 지정한 CRUD 요청이 들어갔음을 터미널 로그로 확인 가능이후 mongodb compass 에서 firstDB 라고 앞서 지정한 database가 생성된 것 확인 가능
database 내부의 users 컬렉션에 앞서 요청한 값이 data 로 추가되어 있음을 확인 가능
+a) CRUD 예제 1 (Create)
insertMany
메서드로 배열type의 data를 database로 보냄+a) CRUD 예제 2 (Read)
findOne
메서드를 활용해서 기존의 database 안에 존재하는 데이터들 중에 조건에 해당하는 data만 필터링 해서 조회도 가능+a) CRUD 예제 3 (Read)
Cursor 객체
mongoDB 에서는 find 같은 메서드로 data를 Query로 조회 시 바로 해당 데이터 문서들을 가져오지 않음
대신 Cursor 라는 객체에 해당 위치정보를 담아서 이를 반환
이후 toArray 같은 메서드로 실제 서버에 data를 요청하여 클라이언트 측으로 받아옴
*이 같은 동작방식을 통해 Query 결과를 클라이언트 서버 메모리에 모두 할당하지 않고도 처리가 가능하게 됨
Cursor 메서드 Docs
+a) CRUD 예제 4 (Update)
+a) CRUD 예제 5 (Delete)