ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Firestore] 2편 - 지원되는 데이터 타입
    Firebase(Android)/Firestore 2021. 11. 21. 22:32
    • string

     

    • number(실수,정수)

     

    • boolean

     

    • map (필드 내에서 추가적으로 필드들을 중첩시키기 위해 사용)

     

    • null

     

    • timestamp

     

    • geopoint (위치(위도,경도))

    쿼리제한으로 사용하지 말고 각 number 필드에 경도, 위도를 저장하라고 권하고 있다.

     

    • reference (문서 위치)

    collection2/document2 문서

     

    collection/document 문서/ reference 타입 필드 지정


    https://firebase.google.com/docs/firestore/manage-data/add-data?authuser=0#data_types


    콘솔에서는 문자열로 입력하여 저장하기 때문에 실제로 어떻게 저장되는지 확인하기 위해 확인 해봤다.

    각 지원되는 데이터 타입이 어떠한 클래스인지 확인하고 싶어서 찾아본 결과이다.

     

    DocumentSnapshot클래스는 문서를 읽어올 때 태스크에서 받을 수 있는 클래스로 문서의 데이터를 가지고 있다.

    다양한 메서드로 필드 키에 해당하는 값을 가져올 수 있는데

    필드의 타입을 확실히 알고있을때 다음의 메서드들을 사용할 수 있다.

    (밑의 메서드들은 각 지원되는 타입이 어떤 클래스인지 확인하기 위해 정리한 것이지, 이외에 필드경로를 인자로 넣어 사용하는 법등 많은 메서드가 존재한다)

     

    • string타입 필드

    • map타입 필드

    중첩 데이터들

     

    문서 전체에 해당하는 맵

    중첩 필드의 값이 맵이라면

    메서드를 사용하여 변환해야함

     

    • number타입 필드

    실수형

    정수형

     

    • 문서 reference타입 필드

     

    • timestamp타입 필드

    java.util.Date로 바꿔서 리턴해주는 메서드

     

    • geopoint타입 필드

     

    • boolean타입 필드

     

    • 필드에 해당하는 값이 복잡하게 되어있는 경우(짬뽕, 배열등)

    get(필드) :Any 를 사용하여 변환작업등을 하여 뽑아낸다.


    Firestore 데이터베이스에 데이터 타입이 저장될 때 정렬되는 순서이다. 또한 비교등등 각 타입들에 대한 세부사항

     


    쿼리에 다양한 유형이 섞여있는 경우, 값이 정렬되어 있는 상태

     

     

    댓글

Designed by Tistory.