Ошибка говорит вам, что ошибка в строке 38. Поскольку вы не сказали, какая это строка, я собираюсь догадаться, что она в этой строке:
const data = snapshot.data()
Согласно API документы , data () возвращает DocumentData or undefined
, где undefined
указывает, что документ не найден.В TypeScript это означает, что ваш код должен показать, что он подготовлен для обработки undefined
, чтобы получить доступ к свойствам возвращаемого объекта.Вы не делаете это здесь.Как вы предложили, вам нужно использовать условное выражение, чтобы определить, существует ли документ:
const data = snapshot.data()
if (data) {
return admin.firestore().doc('posts/{postID}').update({postCommentsTot: data.postCommentsTot + 1});
}
else {
return null
}
или что-то подобное.