문서 메뉴
문서 홈
/
MongoDB 매뉴얼
/ / / /

와일드카드 인덱스 서명

이 페이지의 내용

  • 프로젝션 서명 디스플레이
  • 예제
  • 자세히 알아보기

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 }
}
]
← 임베디드 객체 및 배열의 와일드카드 인덱스