다음 표에는 Firestore에서 지원하는 데이터 유형이 나와 있습니다. 또한 동일한 유형의 값을 비교할 때 사용되는 정렬 순서도 설명합니다.
데이터 유형
정렬 순서
참고
배열
요소 값 기준
한 배열이 다른 배열 값을 요소 중 하나로 포함할 수 없습니다.
한 배열 내에서 요소는 할당된 위치를 유지합니다.
배열을 여러 개 정렬하면 배열이 요소 값을 기준으로 정렬됩니다.
두 배열을 비교할 때는 각 배열의 첫 번째 요소가 비교됩니다. 첫 번째 요소가 같으면 그 다음 요소를 비교하는 식으로 차이가 발견될 때까지 이 과정이 반복됩니다. 배열에 비교할 요소가 더 이상 없으나 끝까지 요소가 동일하다면 길이가 짧은 배열이 긴 배열보다 먼저 정렬됩니다.
예를 들면 [1, 2, 3] < [1, 2, 3, 1] < [2]입니다.
[2] 배열에 가장 큰 첫 번째 요소 값이 있습니다. [1, 2, 3] 배열은 [1, 2, 3, 1]의 처음 세 요소와 동일하지만 길이가 더 짧습니다.
부울
false < true
—
바이트
바이트순
최대 1,048,487바이트(1MiB에서 89바이트를 뺀 값)입니다. 쿼리에서 처음 1,500바이트만
고려됩니다.
날짜 및 시간
시간순
Firestore에 저장될 때는 마이크로초까지만 정확하며 그 이상의 정밀도는 버림 처리됩니다.
현재 쿼리 제한사항으로 인해 이 데이터 유형은 사용하지 않는 것이 좋습니다. 일반적으로 위도와 경도를 별도의 숫자 필드로 저장하는 것이 좋습니다. 앱에 간단한 거리 기반 지역 쿼리가 필요한 경우 지역 쿼리를 참조하세요.
정수
숫자
64비트, 서명됨
맵
키 기준 우선 적용, 그 다음 값 기준 적용
문서 내에 삽입된 객체를 나타냅니다. 색인 처리하면 하위 필드를 쿼리할
수 있습니다. 이 값을 색인 처리에서 제외할 경우 하위 필드도 모두 색인 처리에서 제외됩니다.
키 순서는 항상 정렬됩니다. 예를 들어 {c: "foo", a: "bar", b: "qux"}를 작성하면 지도가 키를 기준으로 정렬되고 {a: "bar", b: "qux", c: "foo"}로 저장됩니다.
맵 필드는 키를 기준으로 정렬되고 키-값 쌍을 기준으로 비교됩니다. 먼저 키와 비교한 후 값으로 비교합니다. 첫 번째 키-값 쌍이 동일한 경우 다음 키-값 쌍이 비교되고 이것이 반복됩니다. 두 맵이 동일한 키-값 쌍으로 시작되는 경우 맵 길이가 고려됩니다. 예를 들어, 다음은 맵이 오름차순으로 정렬된 경우입니다.