본문 바로가기
넓고 얕은 데이터베이스 지식/NoSQL

속성으로 익히는 mongoDB (관련 용어 & 명령어 요약 정리)

by 팡펑퐁 2023. 8. 11.
728x90

MongoDB 

  • 문서 지향 데이터 모델을 사용하는 오픈 소스 NoSQL 데이터베이스 관리 시스템이다.
  • 유연한 JSON과 유사한 문서에 데이터를 저장한다.

 

주요 용어

문서(Document)

  • mongDB에서의 기본 데이터 단위로 일반적으로 JSON 형식으로 표시된다.
  • 문서는 관계형 데이터베이스의 행 또는 레코드와 유사하다.

 

데이터베이스(Database)

  • 여러개의 컬렉션으로 구성되며 컬렉션의 집합이다.

 

컬렉션(Collection)

  • mongoDB의 문서 집합이다.(그룹으로 묶은 것)
  • 컬렉션은 관계형 데이터베이스의 테이블과 유사하다.

 

문서 ID(Document ID)

  • 각 컬렉션 내 문서에 대한 고유 식별자이다.
  • 기본적으로 몽고DB는 각 문서에 _id 필드를 자동으로 생성한다.

 

쿼리(Query)

  • 특정 기준을 바탕으로 mongoDB 데이터베이스에서 데이터를 검색하는 요청이다.
  • mongoDB만의 쿼리 언어를 사용하며 관계형 데이터베이스와는 많은 차이가 있다.

 

인덱스(Index)

  • mongoDB 컬렉션에서 데이터 검색 작업의 속도를 개선하는 데이터 구조이다.
  • 효율적인 검색 및 정렬이 가능하다.

 

집계(Aggregation)

  • 컬렉션 내 문서에 대한 데이터 변환 및 분석 작업을 수행하는 프레임워크이다.

 

복제(Replication)

  • 고가용성을 보장하기 위해 여러 mongoDB 서버 간에 데이터를 동기화하는 프로세스이다.

 

샤딩(Sharding)

  • 데이터를 여러 서버 또는 클러스터에 분산하여 수평적 확장성을 향상시키는 기술이다.

 

 

주요 명령어

mongosh

  • mongoDB와 상호 작용할 수 있도록 db 안에 접근하는 명령어이다.

 

show dbs

  • 데이터베이스 목록을 확인한다.

 

db

  • 현재 db명을 확인한다.

 

use <데이터베이스명>

  • 특정 데이터베이스로 전환한다.
  • 해당 데이터베이스가 없을 경우 자동으로 생성한다.

 

db.createCollection('<컬렉션 이름>')

  • 컬렉션을 생성한다.

 

show collections

  • 컬렉션 목록을 확인한다.

 

db.<컬렉션 이름>.drop()

  • 해당 컬렉션을 삭제한다.

 

db.<컬렉션 이름>.insertOne({<필드>: <값>, ...})

  • 해당 컬렉션에 문서를 추가한다.

 

db.<컬렉션 이름>.find(<조건>)

  • 해당 컬렉션에서 조건에 맞는 문서를 조회한다.
  • () 빈 값을 넣으면 데이터 전체를 조회한다.

 

db.<컬렉션 이름>.updateOne(<조건>, {$set: {<수정할 필드>: <새 값>}})

  • 해당 컬렉션에서 조건에 맞는 문서를 수정한다.

 

문서 삭제: db.<컬렉션 이름>.deleteOne(<조건>)

  • 해당 컬렉션에서 조건에 맞는 문서를 삭제한다

 

db.<컬렉션 이름>.createIndex({<필드>: <인덱스 종류>})

  • 인덱스를 생성한다.

 

db.<컬렉션 이름>.aggregate([{$lookup: {from: '<조인할 컬렉션 이름>', localField: '<로컬 필드>', foreignField: '<외부 필드>', as: '<출력 필드>'}}])

  • 데이터를 조인한다.

 

 

 

참고

뤼튼, chatGPT

728x90