#reactjs #firebase #google-cloud-firestore #firebase-authentication
# #reactjs #firebase #google-облако-firestore #firebase-аутентификация
Вопрос:
Я думаю, что я что-то упускаю. Я пытаюсь получить данные из моей базы данных firestore. Я уверен, что поле collection указано правильно, поле doc является правильным вплоть до console.log. Когда я console.log (кредиты), он возвращает снимок firestore. Однако, если я это сделаю console.log(credits.data())
, я получу возврат undefined. Чего мне не хватает?
useEffect(() => {
async function getCredits() {
await db.collection('users_portfolio').doc(currentUser.email).get().then(credits => {
console.log(credits.data()
}).catch(error => {
console.log(error)
})
} getCredits()
}, [db, currentUser.email])
Комментарии:
1. Все в порядке. Я понял это. Я прошу прощения
Ответ №1:
Когда doc.data() возвращает значение undefined, это означает, что ваш документ не существует. Вы можете проверить это таким образом:
if(credits.exist) {
console.log(credits.data());
}
else {
console.log(`${credits.ref} does not exist`);
}
Более подробная информация в справочнике
Комментарии:
1. Ага. Возникла проблема с наименованием. Я не могу поверить, что я был настолько глуп, чтобы не проверить, был ли тег exist истинным. оказывается, я думаю, что это как-то связано с подчеркиванием (_). Когда я проверил, документ не существовал, и когда я переименовал коллекцию, она, наконец, заработала. тск тск