Вы можете использовать RXJS конвейеры, легко читаемые

я есть эта функция, которая получает все сообщения, и я хочу, чтобы получить идентификатор сообщения любую идею, как получить идентификатор сообщения или Как включить идентификатор, когда я добавляю документ в коллекцию

get_the_posts(){
    this.Post_collection = this.afs.collection('posts'); 
    return this.Posts = this.Post_collection.valueChanges();
}
Это дает мне такой вывод:
[
   { name: 'post 1 name' description: 'post description'}, 
   { name: 'post 2 name' description: 'post description'},
   { name: 'post 3 name' description: 'post description'},
]
И я хочу этот вывод
[
   { id: 'm9mggfJtClLCvqeQ', name: 'post 1 name' description: 'post description'}, 
   { id: 'm9mggfJtCldsadaf', name: 'post 2 name' description: 'post description'},
   { id: 'm9mggfJtCdsasavq', name: 'post 3 name' description: 'post description'},
]

Ответы на вопрос(2)

Вы можете использовать RXJS конвейеры, легко читаемые

AllDrivers() {
    return this.collection.snapshotChanges().pipe(
      map(
        (action) => {
            return action.map( a => {
              return {...a.payload.doc.data(),
                id: a.payload.doc.id
              };
            });
        }
      ),
      take(1)
    );
Решение Вопроса

.valueChanges() возвращает только данные без метаданных. вы можете использовать.snapshotChanges() для этого

return this.Posts = this.Post_collection.snapshotChanges().map(actions => {
  return actions.map(a => {
    const data = a.payload.doc.data();
    const id = a.payload.doc.id;
    return { id, ...data };
  });
});

также импортироватьimport { Observable } from 'rxjs/Observable';

На ваш второй вопрос, как добавить идентификатор при отправке данных в Firestore. пытаться

//get id from firestore
    let id = this.afs.createId();

    this.post = {
      id:id,
      name:'name',
      description:'description'
    }

    this.afs.collection('posts').doc(id).set(this.post).then();

Теперь вы можете использовать.valueChanges() чтобы получить данные.

Ваш ответ на вопрос