Comme la question du haut, je veux obtenir la valeur de certains champs dans Firebase Firestore au lieu de tous les documents avec DocumentSnapshot

Comme ça dans SQL SELECT col_1, col_2, col_3 FROM table_name

Comment puis-je le faire?

Merci pour l'aide.

9
Phung Thang 24 nov. 2017 à 11:18

3 réponses

Meilleure réponse

Les SDK côté client de Cloud Firestore lisent et retournent toujours des documents complets. Il n'y a aucun moyen de lire un sous-ensemble des champs dans un document.

Vous pouvez récupérer l'intégralité du document, puis traiter le DocumentSnapshot pour n'utiliser que les champs qui vous intéressent. Mais cela signifie que vous utilisez plus de bande passante que nécessaire. S'il s'agit d'une occurrence régulière pour votre application, envisagez de créer une collection secondaire dans laquelle chaque document contient uniquement les champs qui vous intéressent.

22
Frank van Puffelen 30 mars 2019 à 14:32

Firestore peut lire une seule valeur de champ. Les guides Firebase semblent ne pas montrer ces méthodes simples.

Par exemple:

[android]

String value = document.getString("col_1");


[node.js]

const value = doc.data().col_1
4
Mike Yan 16 mars 2018 à 09:22

Essayez ce code:

//set a global variable
dataList: Array<any>;


const dataCollection = firebase.firestore().collection('data');
dataCollection.get(query => {
query.forEach(docs => {
this.dataList.push({id: doc.id, data:doc.data()});
  })
})
-2
Luis Fernando Hernandez 15 sept. 2018 à 05:57
47469007