In this Python Firebase article iam going to talk about Cloud Firestore Example in
Python Programming Language. so before this we had an article about Python Firebase Admin
SDK Integration & Working With Realtime Database, you can check that article in the below link.
More Python Firebase Tutorials
1: Python Firebase Admin SDK Integration & Realtime Database
2: Python Firebase Full Course For Beginners
If you are interested in Python Firebase Admin SDK, read the below articles
1: Firebase SDK Integration with Real Time Database
2: Firebase SDK working with Cloud Firestore
3: Python Firebase SDK Working with Authentication
What is Cloud Firestore ?
According to Firebase Documentation, Cloud Firestore is a flexible, scalable database for mobile, web, and server development from Firebase and Google Cloud Platform. Like Firebase Realtime Database, it keeps your data in sync across client apps through realtime listeners and offers offline support for mobile and web so you can build responsive apps that work regardless of network latency or Internet connectivity. Cloud Firestore also offers seamless integration with other Firebase and Google Cloud Platform products, including Cloud Functions.
Create Cloud Firestore Database
- If you haven’t already, create a Firebase project: In the Firebase console, click Add project, then follow the on-screen instructions to create a Firebase project or to add Firebase services to an existing GCP project.
- Navigate to the Database section of the Firebase console. You’ll be prompted to select an existing Firebase project. Follow the database creation workflow.
- Select a starting mode for your Cloud Firestore Security Rules:Test mode
Good for getting started with the mobile and web client libraries, but allows anyone to read and overwrite your data. After testing, make sure to review the Secure your data section.
To get started with the web, iOS, or Android SDK, select test mode.
Locked mode
Denies all reads and writes from mobile and web clients. Your authenticated application servers (C#, Go, Java, Node.js, PHP, Python, or Ruby) can still access your database.
Installation
OK so after creation of your project in Firebase Console, you need to enable Firebase Cloud Firestore in your project. after that for integration of Firebase SDK you need to install the SDK for the language of your choice. because we are using python, so we do the process for python programming language. you can easily install Firebase Admin SDK with pip like this.
1 |
pip install firebase-admin |
To authenticate a service account and authorize it to access Firebase services, you must
generate a private key file in JSON format.
- In the Firebase console, open Settings > Service Accounts.
- Click Generate New Private Key, then confirm by clicking Generate Key.
- Securely store the JSON file containing the key.
and add that json file to your working directory.
This is the complete code for Python Firebase Cloud Firestore Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
import firebase_admin from firebase_admin import credentials from firebase_admin import firestore # initializations cred = credentials.Certificate('firebase-sdk.json') firebase_admin.initialize_app(cred) db = firestore.client() #adding first data doc_ref = db.collection('employee').document('empdoc') doc_ref.set({ 'name':'Parwiz', 'lname':'Forogh', 'age':24 }) #adding second data doc_ref = db.collection('employee').document('emptwodoc') doc_ref.set({ 'name':'John', 'lname':'Doe', 'email':'john@gmail.com', 'age':24 }) #Reading the data ''' emp_ref = db.collection('employee') docs = emp_ref.stream() for doc in docs: print('{} => {} '.format(doc.id, doc.to_dict())) ''' |
OK now these are the imports that we need to use for this article , basically we have
imported firebase_admin, credentials and firestore.
1 2 3 |
import firebase_admin from firebase_admin import credentials from firebase_admin import firestore |
In here we have created our credentials and we have added our json key file, also we
need to initialize our credentials.
1 2 3 |
cred = credentials.Certificate('firebase-sdk.json') firebase_admin.initialize_app(cred) |
Now we need to create our firestore in here.
1 |
db = firestore.client() |
Adding Data
Cloud Firestore stores data in Documents, which are stored in Collections. Cloud Firestore
creates collections and documents implicitly the first time you add data to the document.
You do not need to explicitly create collections or documents.
Create a new collection and a document using the following example code.
1 2 3 4 5 6 7 8 9 10 |
doc_ref = db.collection('employee').document('empdoc') doc_ref.set({ 'name':'Parwiz', 'lname':'Forogh', 'age':24 }) |
Now we are going to add another data to the document.
1 2 3 4 5 6 7 8 9 10 |
doc_ref = db.collection('employee').document('emptwodoc') doc_ref.set({ 'name':'John', 'lname':'Doe', 'email':'john@gmail.com', 'age':24 }) |
Reading Data
To quickly verify that you’ve added data to Cloud Firestore, use the data viewer in the
Firebase console. You can also use the “get” method to retrieve the entire collection.
1 2 3 4 5 |
emp_ref = db.collection('employee') docs = emp_ref.stream() for doc in docs: print('{} => {} '.format(doc.id, doc.to_dict())) |
Also you can watch the complete video for this article
Subscribe and Get Free Video Courses & Articles in your Email