Firestore unsubscribe to updates

Viewed 16298

I am following this Google Cloud Firestore example on YouTube and getting real time updates successfully. However, I don't know how to unsubscribe to updates because it's not explained in the video. I read the documentation to create an unsubscribe() function but it doesn't work for me.

 getRealtimeUpdates = function(document) {
  firestore.collection("collection_name")
   .onSnapshot(function(querySnapshot) {
   querySnapshot.forEach(function(doc) {
    if (doc && doc.exists) {
     const myData = doc.data();
     // DO SOMETHING
    }
   });
  });
 }

1 Answers

The firestore.collection().onSnapshot() function returns a unsubscribe function. Just call it and you should be guchi.

You can also find another example here: How to remove listener for DocumentSnapshot events (Google Cloud FireStore)

Here is a snippet I created that should work:

let unsubscribe;

getRealtimeUpdates = function(document) {
  unsubscribe = firestore.collection("collection_name")
   .onSnapshot(function(querySnapshot) {
   querySnapshot.forEach(function(doc) {
    if (doc && doc.exists) {
     const myData = doc.data();
     // DO SOMETHING
    }
   });
  });
 }
  
  // unsubscribe:
  
  unsubscribe();

Path to the corresponding Firebase Documentation:

https://firebase.google.com/docs/reference/js/firebase.firestore.CollectionReference#onSnapshot

Returns An unsubscribe function that can be called to cancel the snapshot listener.

Related