title: Firestore: deleting multiple documents attempts to delete the same doc again
body: <p>I am setting up a function to delete multiple Firestore documents based on a property in the document. It does work, but when it executes, it may attempt to delete the same document twice as (added a console log statement to verify). Here is the method:</p>
  <pre><code>   async deleteDocuments&lt;T&gt;(collectionName: string, fieldToCheck: string, stringValueToCheck: string) {
        // Get a collection based on the field being checked and then set a property for document ID to 'id'
        this._afs.collection(collectionName)
           .ref.where(fieldToCheck, '==', stringValueToCheck)
           .onSnapshot(async x =&gt; {
              if (x) {
                 x.forEach(async doc =&gt; {
                    try {
                       console.log(`deleting: ${collectionName}/${doc.id}`)
                       await doc.ref.delete();
                    } catch (error) {
                       console.log(error)
                    }
                 })
              }
           })
     }
  </code></pre>
  <p>It doesn't try repeatedly on all the documents though and that is really confusing. As an example, I had three documents and when I ran this, it iterated through two of the documents twice, and one document one time. I tried it on another set of documents which had a dozen or so and it looked like it had the same result (though I'm not positive about a 1:3 ratio).</p>