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.
3 réponses
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.
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
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()});
})
})
De nouvelles questions
android
Android est le système d'exploitation mobile de Google, utilisé pour la programmation ou le développement d'appareils numériques (Smartphones, tablettes, automobiles, téléviseurs, Wear, Glass, IoT). Pour les sujets liés à Android, utilisez des balises spécifiques à Android telles que l'intention d'Android, l'activité d'Android, l'adaptateur Android, etc. Pour les questions autres que le développement ou la programmation, mais liées au cadre Android, utilisez ce lien: https: // android.stackexchange.com.