Я пытаюсь получить данные о пользователе, которые будут добавлены в состояние на основе одного запроса поиска по идентификатору пользователя пользователя. Я попытался сделать единственный путь к документу, который не работал для меня, поскольку firebase.auth (). CurrentUser.uid отличается от do c .id, и код, который я сейчас использую:
firebase.firestore()
.collection("users").get().then((querySnapshot) => {
querySnapshot.forEach((doc) => {
console.log(firebase.auth().currentUser.email);
console.log(doc.data().email;
if (doc.data().email) == firebase.auth().currentUser.email) {
this.setState({
avatar: doc.data().avatar,
name: doc.data().name,
email: doc.data().email
});
}
});
});
Хотя этот код работает, он невероятно неэффективен, поскольку проходит через всех пользователей и сравнивает их электронную почту с текущей электронной почтой пользователя. Я хотел бы знать, есть ли способ просто искать данные, не используя этот метод. Любая помощь будет в значительной степени оценена. Заранее спасибо!