devskim blog
Search
🌥️

Firestore 데이터 사용해보기

sections
Tags
Python
Created
Dec 24, 2022 08:30 AM
Last Updated
Jul 30, 2023 09:49 AM
 
 
 

1. Firebase의 Firestore?

1. 소개

  • NoSQL 문서 데이터베이스로, 편리하게 DB를 구축하고 관리할 수 있다.
  • 데이터는 보통 collection > document > field의 구조를 취하고 있다.
  • 데이터에 쿼리를 적용하려면, field에 ArrayUnion을 활용한 배열방식보다는 collection에 document id를 자동 생성해서 올리는 편이 좋다.
  • 쿼리를 적용할때는 offset 보다는 start_at, start_after 등의 cursor를 활용하는 것이 리소스 관리에 유리하다.
    • 하지만 오프셋이 포함된 쿼리를 보내면 건너뛴 문서마다 읽기 요금이 부과됩니다. 예를 들어 10개의 오프셋을 사용하는 쿼리에서 문서 1개를 반환하면 읽기 11회에 대한 요금이 부과됩니다. 이 같은 추가 비용이 부과되므로 가능하다면 항상 오프셋 대신 커서를 사용해야 합니다. (링크)
 

2. 초기 설정

1. 프로젝트 생성

  • Firestore Database에서 데이터베이스 만들기 버튼을 클릭해서 활성화한다.
  • 프로젝트 개요 옆 설정 아이콘 > 프로젝트 설정 > 서비스 계정 페이지에서 새 비공개 키 생성 버튼을 클릭하여, json 파일을 받는다.

2. 개발환경 구축

  • firebase_admin 패키지를 설치한다.
    • 코드를 불러오는 중 입니다 ...
 

2. 데이터 관리

1. 데이터 연결

코드를 불러오는 중 입니다 ...
 

2. 데이터 올리기

1. document id 지정

  1. 데이터 생성
    1. 코드를 불러오는 중 입니다 ...
      notion image
  1. 데이터 수정
    1. 코드를 불러오는 중 입니다 ...
      notion image
 

2. document id 자동 생성

  1. 데이터 생성
    1. 코드를 불러오는 중 입니다 ...
      notion image
 

3. 데이터 읽기

1. 불러오기

  1. document
    1. 코드를 불러오는 중 입니다 ...
  1. field
    1. 코드를 불러오는 중 입니다 ...
 

2. 쿼리

  • offset 활용
    • 코드를 불러오는 중 입니다 ...
  • cursor 활용
    • 코드를 불러오는 중 입니다 ...
 

4. 데이터 삭제

  1. document
    1. 코드를 불러오는 중 입니다 ...
  1. field
    1. 코드를 불러오는 중 입니다 ...
 

5. 기타

  • 필드의 값에 firestore.SERVER_TIMESTAMP을 적용하려고 하면 에러가 나는데, DatetimeWithNanoseconds 타입으로 올리면 파이어스토어에서 timestamp로 인식된다.
    • 코드를 불러오는 중 입니다 ...
PREV주피터 노트북 편의기능
NEXT파이썬 관련 유용한 정보