Je crée une application dans Flutter avec Firestore maintenant, je vais parcourir tous les documents d'une collection et je veux obtenir le nom du document (id) et le champ des documents et faire quelque chose avec ça. J'ai déjà créé une liste où les données sont affichées mais je ne peux pas faire quelque chose avec cela, par exemple, l'ajouter à une liste ou quelque chose. Merci
4 Réponses :
Vous pouvez le faire en obtenant une liste de documents comme:
documents.forEach((data) => print(data));
Et après cela, vous pouvez parcourir cette liste et obtenir des données:
final QuerySnapshot result = await Firestore.instance.collection('myCollection').getDocuments(); final List<DocumentSnapshot> documents = result.documents;
Tout d'abord, faites la référence de Firestore
print(doc.exists);
Ensuite, créez un itérateur pour obtenir tous les documents de FireStore
print(doc.documentID);
print(doc.data['email'];
userRef.getDocuments().then((snapshot) { snapshot.documents.forEach((doc) { print(doc.data); }); });
final userRef = Firestore.instance.collection('users');
Voici une réponse mise à jour.
Récemment, getDocuments
est obsolète par Firebase dans Flutter.
Au lieu de cela, nous pouvons utiliser get
pour interroger tous les documents de la collection.
comme ceci
documents.forEach((data) => print(data));
et pour lister tout le document, il vous suffit de boucler la liste des documents comme ceci
final QuerySnapshot result = await Firestore.instance.collection('myCollection').get(); final List<DocumentSnapshot> documents = result.docs;
Vous pouvez également obtenir le nom des documents en enveloppant un widget avec FutureBuilder comme ceci:
FutureBuilder( future: FirebaseFirestore.instance .collection("collection_name") .get(), builder: (context, AsyncSnapshot<QuerySnapshot> snapshot) { if (snapshot.hasData) { QuerySnapshot documents = snapshot.data; List<DocumentSnapshot> docs = documents.docs; docs.forEach((data) { print(data.id); }); } else { print("nodata"); } return Container(); })
Votre question est assez vague. Sur quoi êtes-vous coincé exactement? Avez-vous lu la documentation et vu un exemple de code?