Docs Menu
Docs Home
/
데이터베이스 매뉴얼
/ / / /

와일드카드 인덱스 서명

MongoDB 5.0 부터 와일드카드 인덱스 에 대한 wildcardProjection 옵션이 인덱스 서명 에 포함됩니다. 인덱스 서명은 인덱스 를 고유하게 식별하는 매개변수의 조합입니다. 즉, wildcardProjection 옵션에 동일한 필드가 포함되어 있지 않은 한 동일한 키 패턴 으로 와일드카드 인덱스를 여러 개 만들 수 있습니다.

MongoDB 6.3, 6.0.5 및 5.0.16부터 wildcardProjection 필드는 인덱스 프로젝션을 제출된 형식으로 저장합니다. 이전 버전의 서버에서는 프로젝션을 정규화된 형태로 저장했을 수 있습니다.

서버는 인덱스를 동일한 방식으로 사용하지만 listIndexesdb.collection.getIndexes() 명령의 출력에 차이가 있을 수 있습니다.

books 컬렉션 에 대한 다음 와일드카드 인덱스 를 고려하세요.

db.books.createIndex(
{
"$**": 1
},
{
wildcardProjection: {
"author.name": 1,
"author.website": 1
},
name: "authorWildcard"
}
)

인덱스 키 패턴 은 "$**" 입니다. 다른 wildcardProjection 를 지정하면 동일한 키 패턴 으로 다른 와일드카드 인덱스 를 만들 수 있습니다. 예를 예시 다음과 같습니다.

db.books.createIndex(
{
"$**": 1
},
{
wildcardProjection: {
"publisher.name": 1
},
name: "publisherWildcard"
}
)

생성된 인덱스를 보려면 getIndexes() 메서드를 실행 합니다.

db.books.getIndexes()

출력:

[
{ v: 2, key: { _id: 1 }, name: '_id_' },
{
v: 2,
key: { '$**': 1 },
name: 'authorWildcard',
wildcardProjection: { author: { website: true, name: true }, _id: false }
},
{
v: 2,
key: { '$**': 1 },
name: 'publisherWildcard',
wildcardProjection: { publisher: { name: true }, _id: false }
}
]

돌아가기

내장된 객체 & 배열

이 페이지의 내용