[flutter] Firebase Firestore에서 특정 데이터 쿼리하기

Firebase Firestore는 클라우드 기반의 NoSQL 데이터베이스로, 개발자들이 손쉽게 데이터를 저장하고 조회할 수 있게 해줍니다. 이번 글에서는 Flutter 애플리케이션에서 Firebase Firestore에서 특정 데이터를 쿼리하는 방법에 대해 알아보겠습니다.

Firestore 쿼리 개요

Firestore에서 데이터를 쿼리하기 위해 CollectionReferenceQuery 개념을 사용합니다. CollectionReference는 Firestore에서 컬렉션을 참조하는 데 사용되며, Query는 조건을 지정하여 컬렉션에서 원하는 데이터를 검색하는 데 사용됩니다.

특정 데이터 쿼리하기

아래 예제는 users 컬렉션에서 age 필드가 25 이상인 사용자를 조회하는 예제입니다.

import 'package:cloud_firestore/cloud_firestore.dart';

void queryData() async {
  final QuerySnapshot snapshot = await FirebaseFirestore.instance
      .collection('users')
      .where('age', isGreaterThanOrEqualTo: 25)
      .get();
  
  final List<DocumentSnapshot> documents = snapshot.docs;
  // documents에 쿼리 결과가 들어있습니다.

  for (int i = 0; i < documents.length; i++) {
    final DocumentSnapshot document = documents[i];
    print(document.data());
  }
}

위 예제를 살펴보면, collection('users') 메서드를 사용하여 users 컬렉션에 대한 참조를 얻습니다. where 메서드를 사용하여 조건을 지정하고, isGreaterThanOrEqualTo와 같은 연산자를 사용하여 필터링 조건을 설정합니다. get 메서드를 호출하여 쿼리 결과를 얻습니다.

추가로, onSnapshot 메서드를 사용하여 실시간으로 데이터 변경을 감지할 수도 있습니다.

결론

Firebase Firestore를 사용하여 Flutter 애플리케이션에서 특정 데이터를 쿼리하는 방법을 알아보았습니다. Firestore는 강력한 쿼리 기능을 제공하므로, 원하는 데이터를 빠르게 검색하고 처리할 수 있습니다.

더 자세한 내용은 Firebase Firestore 문서를 참고하세요.