[flutter] Firebase Firestore에 복수의 데이터 읽기
Firebase Firestore는 클라우드 기반 NoSQL 데이터베이스로, 플러터(Flutter) 앱에서 데이터를 읽고 쓰는 데 사용할 수 있습니다. 이번 글에서는 Firestore에서 복수의 데이터를 읽는 방법에 대해 알아보겠습니다.
Firestore에 데이터 구조 예시
Firestore는 컬렉션(collection)과 그 안에 있는 문서(document)로 구성됩니다. 각 문서는 키-값(key-value) 쌍으로 이루어진 필드(fields)를 가지고 있습니다. 복수의 데이터를 읽기 위해서는 컬렉션에 있는 문서들의 데이터를 가져와야 합니다.
예를 들어, Firestore에 ‘users’라는 컬렉션이 있고 그 안에 ‘name’과 ‘age’라는 필드가 있는 문서들이 있다고 가정해봅시다. 사용자들의 이름과 나이를 모두 읽어오는 예시를 살펴보겠습니다.
복수의 데이터 읽기
import 'package:cloud_firestore/cloud_firestore.dart';
Future<void> readUsersData() async {
QuerySnapshot usersSnapshot = await FirebaseFirestore.instance.collection('users').get();
if (usersSnapshot.docs.isEmpty) {
// 데이터 없음
print('No Users data available');
return;
}
for (QueryDocumentSnapshot userDocument in usersSnapshot.docs) {
Map<String, dynamic> userData = userDocument.data();
String name = userData['name'];
int age = userData['age'];
// 데이터 활용
print('Name: $name, Age: $age');
}
}
위 코드에서 readUsersData()
함수는 users
컬렉션에 있는 모든 문서들의 데이터를 읽고 출력하는 예시입니다.
FirebaseFirestore.instance.collection('users').get()
를 호출하여 ‘users’ 컬렉션의 모든 문서를 가져옵니다.usersSnapshot.docs
를 통해 조회된 문서들의 리스트에 접근합니다.- 각 문서에서 필드 데이터를 가져와
userData
변수에 저장합니다. - 필드 이름을 사용하여 원하는 데이터를 가져올 수 있습니다.
- 데이터를 활용하기 위해 출력하거나 다른 작업을 수행할 수 있습니다.
요약
Firebase Firestore에서 복수의 데이터를 읽는 방법에 대해 알아보았습니다. 위의 예시 코드를 참고하여 데이터베이스에서 필요한 정보를 가져와서 원하는 대로 활용할 수 있습니다. 저는 이 글이 유용하길 바랍니다!