Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

164
Views
How to get documents from cloud firestore in cloud function with Java Script

I wrote test cloud function that will trigger at adding new like to post in my Cloud Firestore database. In body of the function then I want to get user tokens in order to send notification to him(have not implemented it yet). When I am trying to deploy this cloud function to firebase, I get this error: "error Parsing error: Unexpected token tokensRef". What can be wrong?

const functions = require("firebase-functions");
const admin = require("firebase-admin");
admin.initializeApp();
const db = admin.firestore();

exports.showNotification = functions.firestore
    .document("users/{userId}/posts/{postId}/likes/{joinedId}")
    .onCreate((snap, context) => {
      const userId = context.params.userId;
      const tokensRef = db.collection("users").doc(userId).collection("tokens");
      const snapshot = await tokensRef.get();
      
      snapshot.forEach(doc => {
        console.log(doc.id, '=>', doc.data())
      })
    });

ESlint config:

module.exports = {
  root: true,
  env: {
    es6: true,
    node: true,
  },
  extends: [
    "eslint:recommended",
    "google",
  ],
  rules: {
    quotes: ["error", "double"],
  },
};
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

You need to declare the function as async, since you use await. Also, you need to return a Promise or a value when all the asynchronous work is complete (more info here in the doc).

exports.showNotification = functions.firestore
    .document("users/{userId}/posts/{postId}/likes/{joinedId}")
    .onCreate(async (snap, context) => {  // <== See async here
      const userId = context.params.userId;
      const tokensRef = db.collection("users").doc(userId).collection("tokens");
      const snapshot = await tokensRef.get();
      
      snapshot.forEach(doc => {
        console.log(doc.id, '=>', doc.data())
      })

      return null;
    });
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!