【发布时间】:2021-06-18 04:54:50
【问题描述】:
我在 Google Cloud Function 中使用 Typescript 和 NodeJS
如果我从 Firestore 中获得这样的文档
const result = await db.doc(`events/${eventID}`).get();
const myData = result.data();
那么myData 的类型就是FirebaseFirestore.DocumentData 像这样
在我的代码的其他部分,
我需要检查一个变量是否具有FirebaseFirestore.DocumentData 的类型或不使用下面的代码
if ( myVariable instanceof FirebaseFirestore.DocumentData ) {
// do something
}
但我有这样的错误
类型“typeof”上不存在属性“DocumentData” FirebaseFirestore'
那么如何检查我的变量是否是一种 Firestore 文档数据?
我看到 this answer ,它需要导入一些东西以便我可以访问它。如何为FirebaseFirestore.DocumentData 做类似的事情?
【问题讨论】:
-
不是直接的答案,但您不能简单地检查 result.data() 是否未定义,因为它的唯一选项是未定义或类型文档数据。
-
对不起,这是我的错。我会修改我的问题。上面的代码实际上是我真实案例的简化版本。当我需要检查我的变量是否为 FirebaseFirestore.DocumentData 时,它不再是可选的,我的意思是,实际上我需要检查我的变量是 FirebaseFirestore.DocumentData 还是其他复杂的数据类型(未定义)
标签: node.js typescript firebase google-cloud-firestore google-cloud-functions