为了账号安全,请及时绑定邮箱和手机立即绑定

Firebase 云函数:保存 TypeScript Map() - 如何?

Firebase 云函数:保存 TypeScript Map() - 如何?

皈依舞 2022-05-26 17:15:06
我正在开发一个用 TypeScript 编写的 Firebase Cloud Functions,它应该将实例 Map() 保存到 Cloud Firestore。(地图的键是用户 ID,值是具有 2 个简单属性的对象;由于键的性质,我无法在运行前知道它们。)尝试直接保存地图对象时,我得到:参数“data”的值不是有效的 Firestore 文档。输入不是纯 JavaScript 对象(在字段“member_details”中找到)另一种方法是避免使用 Map() 对象并使用 {} 对其进行初始化 - 如下所示:  let memberDetailsMap = {};  this.memberDetails.forEach(md => {    let payload = {      "name": md.name,      "age": md.age,    }    memberDetailsMap[md.uid] = payload; // <- !!!!!!!! ERROR  })这甚至阻止了我将 TS 编译为带有消息的 JS:元素隐式具有“任何”类型,因为“字符串”类型的表达式不能用于索引类型“{}”。在“{}”类型上找不到带有“字符串”类型参数的索引签名。我尝试的另一件事是使用JSON.stringify(memberDetailsMap) - 但这导致了一个空对象。不幸的是,我不知道如何解决这个问题。你对此有一些提示/解决方案吗?谢谢你的帮助!
查看完整描述

1 回答

?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

您可以通过显式设置类型来解决此问题memberDetailsMap

let memberDetailsMap: { [key: string]: any} = {};


查看完整回答
反对 回复 2022-05-26
  • 1 回答
  • 0 关注
  • 135 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号