Firestore возвращает «неопределенный»

#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 истинным. оказывается, я думаю, что это как-то связано с подчеркиванием (_). Когда я проверил, документ не существовал, и когда я переименовал коллекцию, она, наконец, заработала. тск тск