title: ID dynamic document firestore
body: <p>How can I make the ID of this document in firestore <code>QEoevSjHlswgk44nVTsr</code> dynamic, that is, change according to the IDs in that collection? I'm using angularfire2: ^5.0.0-rc.11</p>
  
  <p>This is what I have:</p>
  
  <p><strong>firebase.service.ts</strong></p>
  
  <pre><code>proyectos: Observable&lt;Proyecto[]&gt;;
  
  getImagenDestacada() {
      this.proyectos = this.afs.collection('proyectos').doc('QEoevSjHlswgk44nVTsr').collection('archivos', ref =&gt; ref
      .orderBy('nombre','asc').limit(1)
      ).snapshotChanges().pipe(map(actions =&gt; {
        return actions.map(a =&gt; {
          const data = a.payload.doc.data() as Proyecto;
          const id = a.payload.doc.id; 
          return { id, ...data };
        });
      }));
      return this.proyectos
      }
  </code></pre>
  
  <p>========================</p>
  
  <p>I have tried the following:</p>
  
  <p><strong>firebase.service.ts</strong></p>
  
  <pre><code>getImagenDestacada(id:string) {
  this.proyectos = this.afs.collection('proyectos').doc(id).collection('archivos', ref =&gt; ref
  .orderBy('nombre','asc').limit(1)
  ).snapshotChanges().pipe(map(actions =&gt; {
    return actions.map(a =&gt; {
      const data = a.payload.doc.data() as Proyecto;
      const id = a.payload.doc.id; 
      return { id, ...data };
    });
  }));
  return this.proyectos
  }
  </code></pre>
  
  <p><strong>portafolio.component.ts</strong></p>
  
  <pre><code>archivos: Observable&lt;Proyecto[]&gt;;
  
  this.archivos = this.fs.getImagenDestacada(this.id);
  </code></pre>
  
  <p>But I get the following error:</p>
  
  <blockquote>
    <p>Error: Function CollectionReference.doc() requires its first argument to be of type string, but it was: undefined</p>
  </blockquote>