MongoDB distinct()
2026년 8월 28일
MongoDB distinct()
한 필드에 어떤 값들이 있는지, 중복 없이 모아 준다. **SQL의 SELECT DISTINCT**에 해당한다.
JavaScript
JavaScript
Python
반환은 배열 하나
Mermaid스크롤로 확대 · 드래그로 이동
문서가 아니라 값의 목록이 온다. 개수까지 필요하면 distinct가 아니라 $group을 쓴다.
JavaScript
배열 필드에 쓰면 펼쳐진다
JavaScript
"전체 태그 목록"을 뽑을 때 유용하다.
중첩 필드
JavaScript
한계 — 16MB
결과 배열도 BSON 문서 하나로 돌아온다. 그래서 16MB 상한에 걸린다. 값 종류가 아주 많은 필드(사용자 ID 등)에는 쓰면 안 된다. 그럴 땐 집계 + 페이지네이션으로 간다.
JavaScript
쓰임
- 데이터 파악: 새 컬렉션에서 "이 필드에 어떤 값이 오지?" (mongosh 실전)
- 드롭다운 채우기: 카테고리 목록처럼 값 종류가 적을 때
- 검증: 코드의 Enum·Literal 목록과 실제 DB 값이 어긋나지 않았는지
한 줄 정리
distinct는 값 종류를 배열로 준다. 개수가 필요하면 $group, 종류가 많으면 집계로 페이지네이션.
관련
- MongoDB countDocuments()
- MongoDB 집계 연산자
- MongoDB 배열 쿼리
- Enum
- SELECT 문법
- MongoDB CRUD 메서드