How to get current login user data from firestore?

I’m working on an Ionic 4 Project, where I want to display all the posts from the current user once the user log into the application. Currently, I’m using snapshotChanges() and subscribe() method (as shown below) to get the data from firestore. But it gives me every single data from the firestore document. Having the userID and postID references on both document, how can I get the value of author and desc from that specific user or is it possible? To be specific, how can I display user (6YbhQux2sgTH66F0cJpdcT87Pw83) 's post (54d039ec-5b3c-4ee9-95a0-418b06365f25) that contains author and desc ?

Firestore:current

Here’s what I did:

getData.service.ts

import { Injectable } from '@angular/core';
import { AngularFirestore } from '@angular/fire/firestore';

@Injectable({
    providedIn: 'root'
  })
export class getData { 
    constructor(
      private firestore: AngularFirestore
    ) { }

    readData() {     
      return this.firestore.collection('promotions').snapshotChanges();
    }
}

post.ts

import { AngularFirestore } from '@angular/fire/firestore';

@Component({
  selector: 'app-post',
  templateUrl: './post.page.html',
  styleUrls: ['./post.page.scss'],
})
export class PostPage implements OnInit {
 constructor(
     private afs: AngularFirestore
 ){}


ngOnInit() {

this.getData.readData().subscribe(data => {

  this.posts = data.map(e => {

    return {
      id: e.payload.doc.id,
      Author: e.payload.doc.data()['author'],
      Description: e.payload.doc.data()['desc'],
    };

  })
  console.log(this.posts);
 });
 }
}

post.html

<ion-card no-padding *ngFor="let post of posts">
    <ion-card-header>
      <ion-card-title>{{post.Author}}</ion-card-title>
    </ion-card-header>
    <ion-card-content>
      <p>{{ post.Description }}</p>
    </ion-card-content>
</ion-card>

I also tried using afAuth.auth.currentUser to get the current user id and the posts but it shows an error Property 'map' does not exist on type 'DocumentSnapshot' . I am new to this and not sure how to proceed.

let user = this.afAuth.auth.currentUser;
uid = user.uid;

this.afs.firestore.collection('users').doc(uid).get()
    .then(doc=>{
       var a = doc.data().posts
       console.log(a);
       this.afs.firestore.collection('posts').doc()
       .get().then(doc2=>{
         this.promotions = doc2.map(e=>{
           return {
             id: e.payload.doc2.id,
             Author: e.payload.doc2.data()['author'],
             Description: e.payload.doc2.data()['desc'],
           };
         })
     })
  })

Can anyone help? Thanks.

Utilizei firebase.User and AngularFireAuth
My code for this:
.ts

user: firebase.User;
constructor(private crudService: CrudService, private fireAuth: AngularFireAuth, private activatedRoute: ActivatedRoute) {

    fireAuth.user.subscribe((data => {
      this.user = data;
    }));
  }

ngOnInit() {
    this.listarComentarios();
  }

CreateRecord() {
    let record = {};
    record['Comentario'] = this.comentarioUsuario;
    record['Usuario'] = this.user.displayName;
    record['Foto'] = this.user.photoURL;
    record['myId'] = this.myId
    this.crudService.create_NewComentario(record).then(resp => {
      this.comentarioUsuario = "";
      this.user.displayName = "";
      this.user.photoURL = "";
      this.myId = "";
      console.log(resp);
    })
      .catch(error => {
        console.log(error);
      });
  }

 listarComentarios() {
    this.crudService.read_Comentarios().subscribe(data => {
      this.comentarios  = data.map(e => {
        return {
          id: e.payload.doc.id,
          isEdit: false,
          Comentario: e.payload.doc.data()['Comentario'],
          Usuario: e.payload.doc.data()['Usuario'],
          Foto: e.payload.doc.data()['Foto'],
          Myid: e.payload.doc.data()['myId']
        };
      })
      console.log(this.comentarios);
    });
  }

.html

HTML:

My ID is: {{ myId }}
  <ion-col size="2" >
    <ion-avatar class="ion-align-self-start">
      <img class="icon-photo" [src]="item.Foto">
    </ion-avatar>
  </ion-col>
  <ion-col size="6">
    <div>
      <!-- this will contain the main post content -->
      <p><strong>{{item.Usuario}} </strong>{{item.Comentario}}</p>
    </div>
  </ion-col>
  <ion-col>
    <ion-button shape="round" color="secondary" size="small" (click)="EditRecord(item)">
      <ion-icon size="small" slot="icon-only" name="create"></ion-icon>
    </ion-button>
    <ion-button shape="round" color="danger" size="small" (click)="RemoveRecord(item.id)">
      <ion-icon size="small" slot="icon-only" name="trash"></ion-icon>
    </ion-button>
  </ion-col>
  
</ion-row>
``` ```