위의 사진은 레스토랑에 대한 document이다.
특정 도시의 요리에 대한 많은 쿼리 중 90%의 쿼리가 평점이 3.5 이상인 레스토랑에 대한 것이라면 Partial Index
를 사용하기 좋은 예이다.
⭐️ 저장해야하는 인덱스 키의 수를 효과적으로 줄여 인덱스에 필요한 공간을 절약할 수 있다. (인덱스의 크기가 큰 경우 유용)
👀 예시
db.restaurants.createIndex(
{ cuisine: 1, name: 1 },
{ partialFilterExpression: { rating: { $gt: 5 } } }
)
db.restaurants.find( { cuisine: "Italian", rating: { $gte: 8 } } )
db.restaurants.find( { cuisine: "Italian", rating: { $lt: 8 } } )
db.restaurants.find( { cuisine: "Italian" } )
주의사항: _id필드는 partialIndex가 될 수 없다.
ref: https://www.mongodb.com/docs/manual/core/index-compound/#prefixes