'How to get value of some field in firebase firestore android?
Like upper question, i want to get value of some field in firebase firestore instead of all document with DocumentSnapshot
like this in SQL SELECT col_1, col_2, col_3 FROM table_name
How can i do it?
Thank you for the help.
Solution 1:[1]
The Cloud Firestore client-side SDKs always read and returns full documents. There is no way to read a subset of the fields in a document.
You can retrieve the entire document, and then process the DocumentSnapshot
to just use the fields you're interested. But this means you're using more bandwidth than needed. If this is a regular occurrence for your app, consider creating a secondary collection where each document contains just the fields you're interested in.
Also see Doug's answer here (for Swift): How to access a specific field from Cloud FireStore Firebase in Swift
Solution 2:[2]
Firestore can read single field value. Firebase guides looks like didn't show these simple method.
For example:
[android]
String value = document.getString("col_1");
[node.js]
const value = doc.data().col_1
Solution 3:[3]
Firebase allows a few ways to query like an RDBMS database. And these are very handy too. Try the Where clause. It returns a single document but u can add multiple filters. check for more
Solution 4:[4]
try this 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()});
})
})
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | |
Solution 2 | Mike Yan |
Solution 3 | Sanat Kumar |
Solution 4 | Luis Fernando Hernandez |