在typescript中开发云函数时,firebase有一些非常好的类型,这一点我真的很喜欢。我希望能够使用自动完成与我的数据库中的实体,如用户,等等。我如何才能正确地创建类?
我觉得应该是这样的
type User = {
activeUntil: admin.firestore.Timestamp
createdAt: admin.firestore.Timestamp
sex: 'men' | 'woman'
name: string
}
export default async function onCreate (snap : FirebaseFirestore.DocumentSnapshot) {
const user:User= snap.data()
console.log('user:- ', user)
return
}我得到错误:我得到以下错误:类型'DocumentData‘缺少类型’User‘的以下属性: activeUntil,createdAt,性别,名称。
发布于 2019-07-30 13:29:13
如果文档字段与类型或接口描述完全匹配,则只需将snap.data()返回的DocumentData对象转换为该类型即可。
const user = snap.data() as User请记住,运行时的任何不一致都可能导致问题,例如,缺少文档字段或联合类型中的意外字符串。简单地进行强制转换可能很方便,但您需要非常有信心地确保所有内容都符合类型或接口的形状。
https://stackoverflow.com/questions/57264167
复制相似问题