TL;DR
MongoDB Compass에서 AI Enabled(Natural Language) Query하는 방법입니다.
IT Journeyman
VScode에 copilot으로 코딩하는 것이 일상이 된 지금 좀 늦은 감이 있지만, MongoDB Compass(쿼리에 주로 사용하는 Tool)에서 자연어로 DB 조회문 생성(Natural Language Query)이 됩니다. 그것도 한국어로도 됩니다.
Table of Contents
1. Enable AI Features in MongoDB Compass
2. AI Enabled Query
2.1 전체 문서 개수는?
2-2. 영화평이 가장 많은 영화 제목과 영화 평 수를 보여줘
3. 비문(非文)으로 Aggregation Pipeline 생성
4. Community Support
4-1. Compass에서 접속한 DB의 Edition이 Community임을 확인
4-2. 사용자 평가가 높은 3개를 이름만 보여줘
1. Enable AI Features in MongoDB Compass
- 먼저 Setting >> Artificial Intelligence 메뉴에서 MongoDB Atlas와 연동을 해야 함
- 첫 번째만 체크하고 아래 항목은 체크하지 않고 테스트를 수행Enable sending sample field values with query and aggregation generation requests.
- MongoDB Atlas는 물론 설치형 Enterprise인 “Enterprise Advanced”나 “Community”에서도 사용 가능함(4번 항목 참조)
- 관련 매뉴얼 : Enable Natural Language Querying - MongoDB Compass

2. AI Enabled Query
2.1 전체 문서 개수는?
sample_mflix > movies를 선택하고 Documents 탭에서

2-2. 영화평이 가장 많은 영화 제목과 영화 평 수를 보여줘
Aggregation 탭에서

3. 비문(非文)으로 Aggregation Pipeline 생성
sample_mflix > movies를 선택하고 Aggregation 탭에서
“전체 2012년 영화 중에서 영화평이 많을 순서대로 3개만 장르별로 장르와 영화 개수만 보여줘”
일부러 문법이 틀린 비문(非文)을 만들어 질의를 해 보았음

[
{
"$match": {
"year": 2012
}
},
{
"$sort": {
"num_mflix_comments": -1
}
},
{
"$group": {
"_id": "$genres",
"movieCount": {"$sum": 1},
"topMovies": {"$push": "$$ROOT"}
}
},
{
"$project": {
"genres": "$_id",
"movieCount": 1,
"topMovies": {"$slice": ["$topMovies", 3]}
}
},
{
"$unwind": "$genres"
},
{
"$group": {
"_id": "$genres",
"movieCount": {"$sum": "$movieCount"}
}
},
{
"$project": {
"_id": 0,
"genre": "$_id",
"movie_count": "$movieCount"
}
}
]
4. Community Support
4-1. Compass에서 접속한 DB의 Edition이 Community임을 확인

4-2. 사용자 평가가 높은 3개를 이름만 보여줘
sample_airbnb.listingsAndReviews 에서

'T. > MongoDB' 카테고리의 다른 글
| 암호화 컬럼에 Index가... Range 검색도 된다?! (0) | 2025.03.04 |
|---|---|
| MongoDB Certifications Tips (1) | 2025.02.19 |
| [DB Internel]killSessions, 누가 이거 돌렸어 ! (0) | 2024.08.16 |
| [DB Internal]Deadlock (0) | 2024.08.07 |
| [Data Lake]Atlas Data Federation (0) | 2024.07.30 |