복합 색인은 firestore.indexes.json 파일 내의 "indexes" 배열 안에 하나씩 객체({}) 형태로 추가

기본 구조

{
  "indexes": [
    {
      // 1. 대상 컬렉션 이름
      "collectionGroup": "users", 
      
      // 2. 범위 (보통 COLLECTION, 하위 컬렉션 검색 시 COLLECTION_GROUP)
      "queryScope": "COLLECTION", 
      
      // 3. 필드 목록 (순서 중요!)
      "fields": [
        { "fieldPath": "필드명1", "order": "ASCENDING" },
        { "fieldPath": "필드명2", "order": "DESCENDING" }
      ]
    }
  ]
}

각 쿼리별 작성법

동등 비교 필터 (==)

범위 비교 필터 (>, <, >=, <=, !=)

배열 포함 필터 (array-contains)

in 또는 array-contains-any 필터