Fiche 11.03 — Firestore : collections, documents et CRUD
Objectif
Comprendre les bases de Firestore : collections, documents et opérations CRUD.
Firestore est une base NoSQL organisée en collections et documents.
1. Collections et documents
Une collection contient des documents.
Un document contient des champs.
2. Modèle Codable
@DocumentID permet de récupérer l’identifiant du document Firestore.
3. Service Firestore
On centralise les accès Firestore dans un service.
4. Create
addDocument(from:) est synchrone et throws (l’encodage Codable peut échouer), mais il n’est pas async : il renvoie tout de suite et l’écriture part en arrière-plan (modèle offline-first de Firestore). Ne le marque donc pas comme s’il était attendu :
Firestore crée un document avec un id automatique.
Si tu veux attendre la confirmation serveur (afficher un succès seulement une fois écrit côté Firebase), passe par la version à complétion, repackagée en async avec une continuation :
5. Read
6. Update
updateData modifie seulement certains champs.
7. Delete
8. Utilisation dans un ViewModel
Points à connaître
Firestore est très pratique, mais les règles de sécurité sont indispensables.
Il faut aussi faire attention aux lectures : un listener ou une requête mal utilisée peut coûter cher.
Résumé
- Firestore fonctionne avec collections et documents.
- Les modèles peuvent être
Codable. - Les opérations principales sont create, read, update, delete.
- Il vaut mieux passer par un service.
- Les règles de sécurité sont obligatoires en production.