MongoDB 5.0부터는 와일드카드 인덱스 에 대한 wildcardProjection 옵션이 인덱스 시그니처에 포함됩니다. 즉, wildcardProjection 옵션에 동일한 필드가 포함되지 않는 한 동일한 키 패턴 으로 와일드카드 인덱스를 여러 개 만들 수 있습니다.
프로젝션 서명 디스플레이
MongoDB 6.3, 6.0.5 및 5.0.16부터 wildcardProjection 필드는 인덱스 프로젝션을 제출된 형식으로 저장합니다. 이전 버전의 서버에서는 프로젝션을 정규화된 형태로 저장했을 수 있습니다.
서버는 인덱스를 동일한 방식으로 사용하지만 listIndexes 및 db.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 } } ]