firestore document 최대 크기 알아보기

firestore 는 document database 이다. document 는 json 형태로 저장된다. 각 DB 마다 document 최대 크기가 다르기에 최대 크기를 확인해보는게 좋다.

firestore 에서 document 의 최대 크기는 1MB 이다.

당연히 공식 문서처럼 사용할 수 있겠지만 궁금해서 직접 확인해보았다.

에러 발생시키기

export const executeMaxSizeOverflow = async () => {
    const labRef = collection(db, 'labs');
    let documentReference = await addDoc(labRef, {});

    try {
        for (let i = 0; i < 1000; i++) {
            await updateDoc(documentReference, {
                [`data${i}`]: randomString(100000),
            });

            console.log(i);
        }
    } catch (e) {
        console.log(e);
    }
}

executeMaxSizeOverflow 를 실행시키면 우선 아래와 같이 정보가 저장이 된다.

firestore-document-max-size-1.png

data 의 index 를 보면 0~9 번까지만 저장이 되었다.

실행한 결과는 당연히 에러를 발생시킨다.

FirebaseError: Document 'projects/.../labs/4IQLTO1WWiC5bVucZwvM' cannot be written because its size (1,100,156 bytes) exceeds the maximum allowed size of 1,048,576 bytes.

캘린더에 보이는 날짜 구하기

아래 화면과 같이 캘린더를 보여줄 필요가 있었다. 2023년 12월이라면 11월 26일 ~ 1월 6일까지 보여주면 된다.

firestore subCollection 에서 부모 데이터를 가지고 rule 설정하기

목표

subCollection 접근할 때 부모 데이터를 가지고 validation 하기

...
NCloud LB & SourcePipeline 구축하기
tech collection 서비스 성능 개선하기
Selenium 복권 구매 자동화 만들어보기
디자인 패턴
책 리뷰
블로그 챌린지