use firestore in cloud functions code example

Example 1: simple firestore cloud function update document

import * as functions from 'firebase-functions';
import * as admin from 'firebase-admin';

admin.initializeApp();

export const resetCounter = functions.https.onRequest((req, res) => {
    const resetRef =  admin.firestore()
    .collection('collectionName')
    .doc('documentName')
    resetRef.get().then((doc) => {
        if(doc.exists){
            resetRef.update({counter: 0})
              .catch(err => {
            console.log("Error",err)
            res.send("500");
          })
       }
    }).catch(err=>{
      	//Internal server error
      	console.log("Error",err)
        res.send("500");
    });
  //Successful operation
  res.send("200");
});

Example 2: firestore cloud function update documents

import * as functions from 'firebase-functions';
import * as admin from 'firebase-admin';

admin.initializeApp();

export const setProductsToExpired = functions.https.onRequest(async(request, response) => {
    const expiredProducts = await admin.firestore()
      .collection('products')
      .where('timestamp','<=', admin.firestore.Timestamp.now())
      .get();
    
    const batch = admin.firestore().batch();
 
    expiredProducts.forEach(doc => {
      batch.update(doc.ref,'expired',true);
    });
    
    await batch.commit();
    //Successful operation
    response.send("200");
    });

Tags:

Misc Example