Docs Menu
Docs Home
/ /

MongoDB 검색 쿼리 실행

이 가이드 에서는 고 (Go) 운전자 사용하여 컬렉션 에서MongoDB Search 쿼리를 실행 방법을 학습 수 있습니다. MongoDB Search를 사용하면 MongoDB Atlas 에서 호스팅되는 컬렉션에서 전체 텍스트 검색을 수행할 수 있습니다. MongoDB Search 인덱스는 검색 동작과 인덱스 할 필드를 지정합니다.

이 가이드 의 예시 에서는 movies sample_mflix Atlas 샘플 데이터 세트의 데이터베이스 에 있는 컬렉션 사용합니다. 무료 MongoDB Atlas cluster 생성하고 샘플 데이터 세트를 로드하는 방법을 학습 보려면 MongoDB 시작하기 <https://www.mongodb.com/ko-kr/docs/get-started/? 언어=go 가이드.

이 섹션에서는 컬렉션 에서 MongoDB Search 쿼리 실행 위한 집계 파이프라인 만드는 방법을 보여 줍니다.

MongoDB Search 쿼리 실행 하려면 컬렉션 에 MongoDB Search 인덱스 만들어야 합니다. 프로그래밍 방식으로 MongoDB Search 인덱스 만드는 방법을 학습 인덱스 가이드 의MongoDB Search 및 MongoDB Vector Search 인덱스 섹션을 참조하세요.

MongoDB Search 인덱스 생성한 후 파이프라인 단계 배열 에 $search 단계를 추가하여 검색 기준을 지정합니다. 그런 다음 Aggregate() 메서드를 호출하고 파이프라인 배열 매개 변수로 전달합니다.

집계 작업에 대해 자세히 학습 애그리게이션 가이드 참조하세요.

이 예시 다음 조치를 수행하여 MongoDB Search 쿼리 실행합니다.

  • title 필드 에 "Alabama"라는 단어가 포함된 문서를 쿼리 하도록 운전자 에 지시하는 $search 단계를 생성합니다.

  • 드라이버가 쿼리 결과에 title 필드를 포함하도록 지시하는 $project 단계를 만듭니다.

  • 파이프라인 단계를 Aggregate() 메서드에 전달하고 결과를 출력합니다.

// Defines the pipeline
searchStage := bson.D{{"$search", bson.D{
{"text", bson.D{
{"path", "title"},
{"query", "Alabama"},
}},
}}}
projectStage := bson.D{{"$project", bson.D{{"title", 1}}}}
// Runs the pipeline
cursor, err := collection.Aggregate(ctx, mongo.Pipeline{searchStage, projectStage})
if err != nil {
panic(err)
}
// Prints the results
var results []bson.D
if err = cursor.All(ctx, &results); err != nil {
panic(err)
}
for _, result := range results {
fmt.Println(result)
}
{
_id: new ObjectId('...'),
title: 'Alabama Moon'
}
{
_id: new ObjectId('...'),
title: 'Crazy in Alabama'
}
{
_id: new ObjectId('...'),
title: 'Sweet Home Alabama'
}

MongoDB Search에 대해 자세히 학습 Atlas 설명서에서 MongoDB Search 가이드 및 $ 검색 파이프라인 단계 참조를 참조하세요.

메서드에 대해 Aggregate() 자세히 학습 API 설명서를 참조하세요.

돌아가기

시계열

이 페이지의 내용