我正在開發一個用 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) - 但這導致了一個空對象。不幸的是,我不知道如何解決這個問題。你對此有一些提示/解決方案嗎?謝謝你的幫助!
Firebase 云函數:保存 TypeScript Map() - 如何?
皈依舞
2022-05-26 17:15:06