Firebase Summit에서 발표된 모든 내용을 살펴보고 Firebase로 앱을 빠르게 개발하고 안심하고 앱을 실행하는 방법을 알아보세요. 자세히 알아보기

지원되는 데이터 유형

이 페이지에서는 Cloud Firestore에서 지원하는 데이터 유형을 설명합니다.

데이터 유형

다음 표에는 Cloud 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바이트만 쿼리에서 고려됩니다.
날짜와 시간 연대순 Cloud Firestore에 저장될 때 마이크로초까지만 정확합니다. 추가 정밀도는 내림됩니다.
부동 소수점 숫자 숫자 64비트 배정밀도, IEEE 754.
지리적 지점 위도, 경도 기준 현재 쿼리 제한으로 인해 이 데이터 유형을 사용하지 않는 것이 좋습니다. 일반적으로 위도와 경도를 별도의 숫자 필드로 저장하는 것이 좋습니다. 앱에 간단한 거리 기반 지리 쿼리가 필요한 경우 지리 쿼리 를 참조하세요.
정수 숫자 64비트, 서명됨
지도 키 기준, 값 기준

문서 내에 포함된 개체를 나타냅니다. 인덱싱되면 하위 필드에서 쿼리할 수 있습니다. 이 값을 인덱싱에서 제외하면 모든 하위 필드도 인덱싱에서 제외됩니다.

키 순서는 항상 정렬됩니다. 예를 들어 {c: "foo", a: "bar", b: "qux"} 맵이 키별로 정렬되어 {a: "bar", b: "qux", c: "foo"} 로 저장됩니다. {a: "bar", b: "qux", c: "foo"} .

맵 필드는 키별로 정렬되고 키-값 쌍으로 비교되며 먼저 키를 비교한 다음 값을 비교합니다. 첫 번째 키-값 쌍이 같으면 다음 키-값 쌍이 비교됩니다. 두 개의 맵이 동일한 키-값 쌍으로 시작하는 경우 맵 길이가 고려됩니다. 예를 들어 다음 맵은 오름차순입니다.

{a: "aaa", b: "baz"}
{a: "foo", b: "bar"}
{a: "foo", b: "bar", c: "qux"}
{a: "foo", b: "baz"}
{b: "aaa", c: "baz"}
{c: "aaa"}

없는 없음
참조 경로 요소별(컬렉션, 문서 ID, 컬렉션, 문서 ID...) 예: projects/[PROJECT_ID]/databases/[DATABASE_ID]/documents/[DOCUMENT_PATH] .
문자열 UTF-8 인코딩 바이트 순서 최대 1,048,487바이트(1MiB - 89바이트). UTF-8 표현의 처음 1,500바이트만 쿼리에서 고려됩니다.

값 유형 순서

쿼리에 혼합 유형의 값이 있는 필드가 포함된 경우 Cloud Firestore는 내부 표현을 기반으로 결정적 순서를 사용합니다. 다음 목록은 순서를 보여줍니다.

  1. 널 값
  2. 부울 값
  3. 숫자 순서로 정렬된 정수 및 부동 소수점 값
  4. 날짜 값
  5. 텍스트 문자열 값
  6. 바이트 값
  7. Cloud Firestore 참조
  8. 지리적 포인트 값
  9. 배열 값
  10. 지도 값