firebase admin 설정하기

목표

firebase 를 사용하다보면 데이터 구조가 전체적으로 바뀌어야하거나 데이터를 한번에 수정해야할 때가 있다. 이럴때는 firebase console 을 사용하는 것 보다는 firebase admin 을 사용하는 것이 좋다.

firebase admin 패키지 추가

새로운 프로젝트를 만들어서 firebase admin 패키지를 추가한다.

yarn add firebase-admin

credential 파일 생성

firebase console 에서 Project Overview > Project settings > Service accounts 로 이동한다. firebase-admin-setup-1.png

이 화면에서 Generate new private key 버튼을 클릭하면 json 파일이 다운로드 된다. 이 파일을 프로젝트 폴더에 저장한다.

firebase-admin-setup-2.png

firebase admin 설정

import {cert, getApps, initializeApp} from 'firebase-admin/app';
import {getFirestore} from "firebase-admin/firestore";

const apps = getApps();
if (!apps.length) {
    initializeApp({
        credential: cert('./apeltop-firebase-adminsdk-....json')
    });
}

firestore 사용하기

컬렌션 전체 조회

const db = getFirestore();
const iDoc = await db.collection('itineraries').get();

iDoc.forEach(doc => {
    console.log(doc.id, '=>', doc.data());
});

document 조회

const doc = await db.collection('itineraries').doc('document-id').get();

document 추가

const doc = await db.collection('itineraries').add({
    name: 'new document'
});

document 수정

const doc = await db.collection('itineraries').doc('document-id').set({
    name: 'new name'
}, {merge: true});

document 삭제

const doc = await db.collection('itineraries').doc('document-id').delete();

ChatGPT function call 사용해보기

Function calling

OpenAI ← Previous

firestore 데이터 구조 변경해서 성능 개선하기

목표

원픽 을 사이드 프로젝트로 만들어서 실사용을 하는데...

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