Quick Tip: Firestore multiple operations in Flutter
Advance firestore using batch
First of all what firebase documentation says about batch
Cloud Firestore supports atomic operations for reading and writing data. In a set of atomic operations, either all of the operations succeed, or none of them are applied. There are two types of atomic operations in Cloud Firestore:
- Transactions: a transaction is a set of read and write operations on one or more documents.
- Batched Writes: a batched write is a set of write operations on one or more documents.
We can use two things to perform multiple operations, and in this article, we’ll cover batch.
Batched writes
If you do not need to read any documents in your operation set (if you need to read document use transaction instead), you can execute multiple write operations as a single batch that contains any combination of
set()
,update()
, ordelete()
operations. A batch of writes completes atomically and can write to multiple documents.
Write a document
var db= Firestore.instance();//Create a batch
var batch = db.batch();//And use this batch to write a document.batch.setData(//Give the ref of document.db.collection(’users’).document(’id’),//And the data to add in it.{'status': 'Approved'});
Update a document
//Use the batch to update a documentbatch.updateData(//Give the ref of document.db.collection(’users’).document(’id’),//And the data to update.{'status': 'Rejected'});
Delete a document
//Use the batch to delete a documentbatch.delete(db.collection(’users’).document(’id’));
And just commit the batch, when you want to perform the subscribed actions
batch.commit();
That’s it, folks.
If you like this tiny little article, just clap for it 👏 👏 👏
Have a great day.