首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Google Cloud functions将数据从DocumentSnapshot转换为自定义类型,以便利用autocomplete?

如何使用Google Cloud functions将数据从DocumentSnapshot转换为自定义类型,以便利用autocomplete?
EN

Stack Overflow用户
提问于 2019-07-30 12:09:46
回答 1查看 1.6K关注 0票数 3

在typescript中开发云函数时,firebase有一些非常好的类型,这一点我真的很喜欢。我希望能够使用自动完成与我的数据库中的实体,如用户,等等。我如何才能正确地创建类?

我觉得应该是这样的

代码语言:javascript
复制
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,性别,名称。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-30 13:29:13

如果文档字段与类型或接口描述完全匹配,则只需将snap.data()返回的DocumentData对象转换为该类型即可。

代码语言:javascript
复制
const user = snap.data() as User

请记住,运行时的任何不一致都可能导致问题,例如,缺少文档字段或联合类型中的意外字符串。简单地进行强制转换可能很方便,但您需要非常有信心地确保所有内容都符合类型或接口的形状。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57264167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档