Firestore удаление документа с использованием снимка - PullRequest
0 голосов
/ 04 мая 2018
 players2:Observable<String[]>;

deletePlayerFromAvailable(id:string, firstName:string, lastName:string): Observable<String[]>{



    this.matchDoc = this.afs.doc<Match>(`matches/${id}`);
    this.players2 = this.matchDoc.collection<String>('availablePlayers', ref => ref.where('firstname', '==' , firstName)).valueChanges()



    return this.players2;

  }

Я могу получить данные с помощью метода valueChanges (), но мне нужен идентификатор документа этого динамического запроса, чтобы удалить документ из коллекции availablePlayers. Как мне этого добиться? Когда я начинаю использовать метод SnapshotChanges (), возникает ошибка

Type 'Observable<DocumentChangeAction[]>' is not assignable to type 'Observable<String[]>'.

на этом .players2

Дайте мне знать, если вам нужны какие-либо другие данные.

РЕДАКТИРОВАТЬ 2 Новый метод, который возвращает нужную мне строку идентификатора документа, но метод не возвращает значения - консоль печатает неопределенное значение.

  getPlayerFromMatchDayAvailable(player:Player, id:String):string{

  this.playerscollection = this.afs.collection<Player>(`matchdays/${id}/availablePlayers`, ref => ref.where('email','==','john@test.com'))
  this.players2 = this.playerscollection.snapshotChanges()
  this.players2.subscribe( data => {
    if(data){
      console.log(data);
      data.map(test => {
        console.log(test.payload.doc.id);
        this.af = test.payload.doc.id;

      });

    }

  })

  console.log(this.af)
  return this.af;



  //  this.players2.forEach(player => {
  //    player.forEach(playerData => {
  //      let data = playerData.payload.doc.data();
  //      let ids = playerData.payload.doc.id;
  //      this.af = playerData.payload.doc.id;
  //      console.log(id,data)

  //    });
  //  });




  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...