MongoDB와 LangGraph로 만드는 Text-to-Query 에이전트
Apoorva Joshi
Senior AI/ML Developer Advocate, MongoDB








SQL 예시 쿼리
SELECT *
FROM table
WHERE year>=1950
LIMIT 5
JSON 유사 입력 예시
{ "$and": [
{"year": {"$gte": 1990}},
{"year": {"$lt": 2000}}
]
}
MongoDB 쿼리 메서드
.find(), .insert(), .update(), .delete()| _id | 제목 | 개봉 연도 | 출연 | 장르 |
|---|---|---|---|---|
| 573a1396f29313caabce3d17 | Larks on a String | 1990 | [Rudolf Hrusènskè, Vlastimil Brodskè] | [Comedy, Drama, Romance] |
| 573a1398f29313caabceab72 | The Witching of Ben Wagner | 1990 | [Sam Bottoms, Harriet Hall, Bettina Rae, Justin Gocke] | [Family] |
| ... | ... | ... | [...] | [...] |
query = {"genre": "Romance"}
query = {"genre": "Romance"}
| _id | 제목 | 개봉 연도 | 출연 | 장르 |
|---|---|---|---|---|
| 573a1390f29313caabcd6377 | Wild and Woolly | 1917 | [Douglas Fairbanks, Eileen Percy, Calvert Carter, Charles Stevens] | [Comedy, Western, Romance] |
| 573a1391f29313caabcd70b4 | The Four Horsemen of the Apocalypse | 1921 | [Pomeroy Cannon, Josef Swickard, Bridgetta Clark, Rudolph Valentino] | [Drama, Romance, War] |
query = { "$and": [
{"year": {"$gte": 1990}},
{"year": {"$lt": 2000}}
]
}
query = { "$and": [
{"year": {"$gte": 1990}},
{"year": {"$lt": 2000}}
]
}
| _id | 제목 | 개봉 연도 | 출연 | 장르 |
|---|---|---|---|---|
| 573a1396f29313caabce3d17 | Larks on a String | 1990 | [Rudolf Hrusènskè, Vlastimil Brodskè] | [Comedy, Drama, Romance] |
| 573a1398f29313caabceab72 | The Witching of Ben Wagner | 1990 | [Sam Bottoms, Harriet Hall, Bettina Rae, Justin Gocke] | [Family] |

db.<collection>.aggregate([
{stage-1},
{stage-2},
{stage-3},
{stage-4},
])
query = []
query = [{ "$sort": { "released": -1 } },]
released로 정렬query = [{ "$sort": { "released": -1 } },{ "$limit": 5 },]
released로 정렬5개 제한query = [{ "$sort": { "released": -1 } },{ "$limit": 5 },{ "$project": { "title": 1, "_id": 0 } }]
released로 정렬5개 제한"title" 컬럼만 출력query = [{ "$sort": { "released": -1 } },{ "$limit": 5 },{ "$project": { "title": 1, "_id": 0 } }]
released로 정렬5개 제한"title" 컬럼만 출력| 제목 |
|---|
| The Treasure |
| Knight of Cups |
| Sand Castles |
| Shut In |
| Dègradè |
| _id | 제목 | 개봉 연도 | 출연 | 장르 |
|---|---|---|---|---|
| 573a1396f29313caabce3d17 | Larks on a String | 1990 | [Rudolf Hrusènskè, Vlastimil Brodskè] | [Comedy, Drama, Romance] |
| 573a1398f29313caabceab72 | The Witching of Ben Wagner | 1990 | [Sam Bottoms, Harriet Hall, Bettina Rae, Justin Gocke] | [Family] |
| ... | ... | ... | [...] | [...] |
query = [{ "$unwind": "$genres" },{ "$group": { "_id": "$genres", "numMovies": { "$sum": 1 } }},{ "$match": { "numMovies": { "$gte": 50 } } }]
| 장르 | 개수 |
|---|---|
| Drama | 12385 |
| Comedy | 6532 |
| Romance | 3318 |
| Crime | 2457 |
| Thriller | 2454 |
| ... | ... |
파이프라인 단계
$match, $group, $facet, $geoNear, $lookup, $merge, $search, $sort...연산자
$eq, $gt, $gte, ...$add, $multiply, $divide...$push, $reduce, ...$toUpper, $toLower, ...$dateAdd, $dateDiff, ...MongoDB와 LangGraph로 만드는 Text-to-Query 에이전트