Я работаю с Angular 5 и Firestore, и у меня есть служба, где я могу получить студента по его идентификатору или всех студентов, но я хочу найти способ получить студента по его электронной почте. У меня есть этот сервис для получения студента по его ID:
getStudient(uid: string){
this.studientDoc = this.afs.doc<StudientsInterface>(`studients/${uid}`);
this.studient = this.studientDoc.snapshotChanges().map(action => {
if (action.payload.exists === false){
return null;
}else{
const data = action.payload.data() as StudientsInterface;
data.uid = action.payload.id;
return data;
}
});
return this.studient;}
И это другое для вызова службы:
constructor(private studientService: StudientService){
this.currentStudient = localStorage.getItem('studientEmailLS');
this.studientService.getStudient(this.currentStudient).subscribe(studient => {
this.studientName = studient.name;
}) }
Я попробовал этот код, но он не работает:
getStudientByEmail(email: string){
this.studientDoc = this.afs.doc<StudientsInterface>(`studients/${email}`);
this.studient = this.studientDoc.snapshotChanges().map(action => {
if (action.payload.exists === false){
return null;
}else{
const data = action.payload.data() as StudientsInterface;
data.uid = action.payload.id;
data.email = action.payload.get(email);
return data;
}
});
return this.studient;
}
Я могу получить UID, но не вижу параметра «email» в предложении «action.payload. *»
Как мне позвонить в службу по электронной почте и получить все данные об объекте?