我正在开发一个用 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) - 但这导致了一个空对象。
不幸的是,我不知道如何解决这个问题。你对此有一些提示/解决方案吗?
谢谢你的帮助!
皈依舞
翻过高山走不出你
随时随地看视频慕课网APP
相关分类