dalenguyen / firestore-backup-restore

NPM package for backup and restore Firebase Firestore
https://firebaseopensource.com/projects/dalenguyen/firestore-backup-restore/
MIT License
493 stars 83 forks source link

[Feature Request] Support for batched operations #18

Open raghavsatyadev opened 5 years ago

raghavsatyadev commented 5 years ago

Firestore supports batched operations, this library would be really good if you can support this. a batch can support 500 operation max, here's the URL for batched operations

https://firebase.google.com/docs/firestore/manage-data/transactions#batched-writes

// Get a new write batch
let batch = db.batch();

// Set the value of 'NYC'
let nycRef = db.collection('cities').doc('NYC');
batch.set(nycRef, {name: 'New York City'});

// Update the population of 'SF'
let sfRef = db.collection('cities').doc('SF');
batch.update(sfRef, {population: 1000000});

// Delete the city 'LA'
let laRef = db.collection('cities').doc('LA');
batch.delete(laRef);

// Commit the batch
return batch.commit().then(function () {
  // ...
});
raghavsatyadev commented 4 years ago

Hello, any update on this?

dalenguyen commented 4 years ago

Hi @raghavsatyadev, not yet. There is a step in between to update subcollection. I haven't had time to take a deep look into this. Is this something that prevents your app from working?

raghavsatyadev commented 4 years ago

No actually it does not stop it. But this can speed up the process so much. Minimum a 100 times speed. I have used batch process in my native Android app and I can tell it can help in this library too