title: Where does AngularFire (using Firestore) actually filter data?
body: <p>According to this tutorial about querying collections: <br>
  <a href="https://github.com/angular/angularfire/blob/master/docs/firestore/querying-collections.md" rel="nofollow noreferrer">https://github.com/angular/angularfire/blob/master/docs/firestore/querying-collections.md</a> <br>
  filtering in the angularFire can be done it two ways:</p>
  <ul>
  <li>using ref, for example: afs.collection('items', ref =&gt; ref.where('size', '==', 'large'))</li>
  <li>using pipe, for example afs.collection('items').valueChanges().pipe(filter(...))</li>
  </ul>
  <p>The question is, where the filtering is actually happening in the first option. Reasonable would be to process it on the server-side, however, I couldn't find any information about it in the documentation, in case of large databases fetching whole collections at first might be extremely expensive.</p>