firestore-large-batch
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

npm version License: MIT

firestore-large-batch

A library for batching operations in Firestore. This library allows you to perform more than 500 operations in a single batch, and commit them all at once.

Installing

npm install firestore-large-batch

Usage

import * as admin from "firebase-admin";
import { LargeBatch } from "firestore-large-batch";

// Initialize Firestore
const firestore = admin.firestore();
// Initialize LargeBatch
const largeBatch = new LargeBatch(firestore);

// Add operations to batch
largeBatch.create(firestore.doc("/users/user1"), { name: "John" });
largeBatch.set(firestore.doc("/users/user2"), { age: 25 });
largeBatch.update(firestore.doc("/users/user3"), {
  email: "johndoe@example.com",
});
largeBatch.updateField(firestore.doc("/users/user4"), "address", "New York");
largeBatch.delete(firestore.doc("/users/user5"));

//Commit all batches
largeBatch.commit();

You can also pass an optional commit unit to the commit method which will commit that many number of batches at a time.

largeBatch.commit({ commitUnit: 10 });

This will divide the total number of batches into chunks of 10 and commit them one by one.

This is especially useful when you are performing a very large number of operations and want to avoid exceeding the limits of 10k writes/second.

Note

The class automatically creates new batches after reaching the maximum write limit of 500 operations per batch, so that you can continue to add operations without worrying about exceeding the limit.

Package Sidebar

Install

npm i firestore-large-batch

Weekly Downloads

91

Version

1.0.1

License

MIT

Unpacked Size

11 kB

Total Files

5

Last publish

Collaborators

  • santat