View a markdown version of this page

인덱스 속성: partialFilterExpression - Amazon DocumentDB

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

인덱스 속성: partialFilterExpression

지원되는 인덱스 유형

옵션 3.6 4.0 5.0 8.0 탄력적 클러스터
단일 필드 아니요 아니요 아니요
compound 아니요 아니요 아니요
다중 키 아니요 아니요 아니요
지리 공간 아니요 아니요 아니요 아니요 아니요

partialFilterExpression 옵션을 사용하여 지정된 필터 조건을 충족하는 문서만 포함하는 부분 인덱스를 생성합니다. 이렇게 하면 모든 문서를 인덱싱하고 인덱스 크기를 줄이고 메모리 공간을 절약하는 대신 컬렉션에서 문서의 하위 집합만 인덱싱하여 보다 효율적인 인덱스를 생성할 수 있습니다. 인덱스 크기가 작기 때문에 이를 사용하는 쿼리가 더 효율적입니다. Amazon DocumentDB는 다음 시나리오에서 부분 인덱스를 사용합니다.

  • 쿼리 조건자는 부분 인덱스 필터 표현식과 정확히 일치합니다.

  • 쿼리 필터의 예상 결과는 부분 필터의 논리적 하위 집합입니다.

  • 쿼리의 하위 조건자는 다른 인덱스와 함께 사용할 수 있습니다.

자세한 내용은 부분 인덱스 단원을 참조하십시오.

예제

다음 예제에서는 다음 샘플 문서에서 부분 인덱스를 생성하는 방법을 보여줍니다.

{ "productId": "PROD133726", "sku": "SKU24224", "name": "Basic Printer", "manufacturer": "The Manufacturer", "tags": [ "printer", "basic", "electronics", "business" ], "barcodes": [ "542364671", "886330670", "437445606" ], "reviews": [ { "review_date": ISODate('2024-01-19T21:37:10.585Z'), ... } ], "material": "Polycarbonate", "color": "Space Gray", "supplier": { "supplierId": "SUP4", "location": { "type": "Point", "coordinates": [ -71.0589, 42.3601 ] } }, "productEmbedding": [ -0.019320633663838058, 0.019672111388113596 ], "lastUpdated": ISODate('2025-10-20T21:37:10.585Z') }

단일 필드

스페이스 그레이 색상의 제품에 대해 제조업체에 부분 단일 필드 인덱스를 생성합니다.

db.collection.createIndex( { "manufacturer": 1 }, { "name": "manufacturer_space_gray", "partialFilterExpression": { "color": { $eq: "Space Gray" } } } )

이 인덱스는 제조업체별로 스페이스 그레이 색상 제품을 찾을 때 사용됩니다.

db.collection.find({ "manufacturer": "The Manufacturer", "color": { $eq: "Space Gray" } })

복합

폴리카보네이트 재료를 사용하는 제품의 제조업체 및 색상에 부분 복합 인덱스를 생성합니다.

db.collection.createIndex( { "manufacturer": 1, "color": 1 }, { "name": "manufacturer_and_color_polycarbonate", "partialFilterExpression": { "material": { $eq: "Polycarbonate" } } } )

이 인덱스는 제조업체 및 색상별로 폴리카보네이트 재료 제품을 찾을 때 사용됩니다.

db.collection.find({ "manufacturer": "The Manufacturer", "color": "Space Gray", "material": { $eq: "Polycarbonate" } })

다중 키

제조업체가 있는 제품의 태그에 부분 다중 키 인덱스를 생성합니다.

db.collection.createIndex( { "tags": 1 }, { "name": "tags_the_manufacturer", "partialFilterExpression": { "manufacturer": { $eq: "The Manufacturer" } } } )

이 인덱스는 제조업체가 있는 프린터로 태그가 지정된 제품을 찾을 때 사용됩니다.

db.collection.find({ "tags": "printer", "manufacturer": { $eq: "The Manufacturer" } })