I'm new to python
. I'm using a firebase firestore
database for this project. After entering the Admission_No
, I want to retrieve all the data in the relevant document such as name
, grade
, phone
. I tried to write a program for it. But I failed. Please help me to complete my project. Thank you all.
The Code might be full of mistakes. Please don't mind it and fix them for me.
Sample Data
.py
import firebase_admin
from firebase_admin import credentials
from firebase_admin import firestore
cred = credentials.Certificate("cred.json")
firebase_admin.initialize_app(cred)
db = firestore.client()
data = {
'Admission_No': input('enter ad_no : ')
}
query_ad = db.collection(u'Users').where(u"Admission_No", u"==", data["Admission_No"]).get()
get_data = db.collection(u'Users').where(u"Name", u"==", data["Name"]).get()
if query_ad:
print('Exist')
print(get_data)
else:
print("Doesn't Exist")
Upon checking your code, you declared another query Name
, but you didn't include it in your data dictionary (data
). You can remove the query get_data
and just use your query_ad
to check/get the value of your admission_no
:
Untested Code:
import firebase_admin
from firebase_admin import credentials
from firebase_admin import firestore
cred = credentials.Certificate("cred.json")
firebase_admin.initialize_app(cred)
db = firestore.client()
data = {
'Admission_No': input('enter ad_no : ')
}
query_ad = db.collection(u'users').where(u"Admission_No", u"==", data["Admission_No"]).stream()
for doc in query_ad:
print(f'{doc.id} => {doc.to_dict()}')
Since you used the where()
to query your documents, you can follow this guide to get multiple documents from a collection. Additionaly, by default, Cloud Firestore retrieves all documents that satisfy the query in ascending order by document ID, but you can order and limit the data returned.
For more references, you can check this guide to perform simple and compound queries in Cloud Firestore
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With