Skip to content

Instantly share code, notes, and snippets.

@DennisAlund
Last active October 25, 2017 13:24
Show Gist options
  • Select an option

  • Save DennisAlund/4db3c9d990fc2160efdadadbac14eb92 to your computer and use it in GitHub Desktop.

Select an option

Save DennisAlund/4db3c9d990fc2160efdadadbac14eb92 to your computer and use it in GitHub Desktop.
export const countReviews = functions.firestore.document("movies/{movieId}/reviews/{reviewId}").onCreate(async (event) => {
console.log(`Got a ${event.data.data().stars} star review`);
const review = event.data.data();
const movieRef = admin.firestore().collection("movies").doc(event.params.movieId);
const movie = (await movieRef.get()).data();
movie.numReviews += 1;
movie.totalReviewScore += review.stars;
movie.averageScore = (movie.totalReviewScore/movie.numReviews).toPrecision(3);
console.log(`[${event.data.id}] Got a ${review.stars} star review from ${review.name} (now ${movie.numReviews} total reviews)`);
return movieRef.update(movie);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment