title: Angularfire : valuechanges observable emits twice
body: <p><strong>Context :</strong></p>
  <p>I'm building a chat with Angularfire 6.1.5 and firebase 8.6.1</p>
  <p>My Firestore contains a collection &quot;discussions&quot;. Each discussion contains a sub collection &quot;messages&quot;.</p>
  <p>My issue is about the new message's handler part. I need to receive the last new message created by someone and display it.</p>
  <p><strong>Code :</strong></p>
  <p>I'm handling new message with this observable :</p>
  <pre><code>return this.db.collection&lt;Message&gt;(`discussions/${id}/messages`, ref =&gt; ref.orderBy('createdAt').limitToLast(1))
        .valueChanges({ idField: '_id' })
        .pipe(...);
  </code></pre>
  <p>The method for adding a message :</p>
  <pre><code>sendMessage(discussionId: Discussion['_id'], message: Message): void {
      this.db.collection&lt;Message&gt;(`discussions/${discussionId}/messages`).add(message);
    }
  </code></pre>
  <p><strong>The problem :</strong></p>
  <p>When I add just one message, <code>valueChanges()</code> emits twice. I only have one subscriber.</p>
  <p>Is this double emission is by design or its a bug ?</p>
  <p>Thank you :)</p>