Firebase (Google) Cloud Functions - Debounce/Throttle database.onWrite() #AskFirebase

Viewed 1656

Scenario

I have documents stored for each user at path documents/${documentId}

Goal

I want to parse them and update the index for that document when it changes

Code

import Functions from 'firebase-functions'

export writeTrigger = Functions
  .database
  .ref('/document/{documentId}')
  .onWrite(
    async event => {
      const data = event.data.val()
      const { documentId } = event.params
      // assume that updateIndex function exists
      updateIndex(documentId, data)
    }
  )

Problem

This function gets called for every single letter being typed into the document

TLDR

What is the best way to throttle/debounce firebase cloud functions (database.onWrite) so that it isn't fired on each and every change?

1 Answers
Related