[typescript] 타입스크립트와 GCP의 Cloud Firestore 쿼리 처리 방법

GCP(Cloud Firestore)에서 제공하는 NoSQL 데이터베이스 서비스인 Cloud Firestore를 사용하는 경우, 타입스크립트(TypeScript)를 사용하여 데이터베이스의 쿼리를 처리하는 방법에 대해 알아보겠습니다.

Cloud Firestore 쿼리 처리 방법

Cloud Firestore에서는 데이터베이스 쿼리를 처리하기 위해 다양한 방법을 제공합니다. 이를 활용하여 원하는 문서(document) 또는 컬렉션(collection)을 조회하고 조작할 수 있습니다.

1. 데이터 조회

특정 컬렉션에서 문서를 조회하기 위해서는 firestore 모듈을 사용하여 쿼리를 작성할 수 있습니다. 예를 들어, cities 컬렉션에서 state 필드가 CA인 문서를 조회하는 방법은 다음과 같습니다.

import * as admin from 'firebase-admin';

const db = admin.firestore();
const citiesRef = db.collection('cities');
const queryRef = citiesRef.where('state', '==', 'CA');

2. 데이터 조작

조회한 데이터를 변경하거나 삭제하는 것도 가능합니다. update, delete 등의 메서드를 활용하여 데이터를 조작할 수 있습니다.

// 문서 업데이트 예제
const docRef = db.collection('cities').doc('BJ');
docRef.update({ name: 'Beijing' });

3. 실시간 업데이트 처리

Cloud Firestore에서는 실시간으로 데이터베이스의 변화를 감지하고 처리할 수 있는 기능을 제공합니다. 이를 활용하여 실시간으로 데이터를 감지하고 UI를 업데이트할 수 있습니다.

const docRef = db.collection('cities').doc('SF');

docRef.onSnapshot((doc) => {
    if (doc.exists) {
        console.log('Current data: ', doc.data());
    } else {
        console.log('No such document!');
    }
});

요약

Cloud Firestore와 타입스크립트를 함께 사용하여 데이터베이스 쿼리를 처리하는 방법에 대해 알아보았습니다. 이를 활용하여 안정적이고 유지보수가 쉬운 데이터베이스 처리 코드를 작성할 수 있습니다.

더 자세한 내용은 Cloud Firestore 문서를 참고하시기 바랍니다.