我的 Firestore 檔案有一個已設定值的欄位。
現在我想通過將其設定為表示“空”的東西來洗掉該值,例如nullor undefined。
到目前為止,我已經嘗試使用如下updateDoc方法執行此操作:
updateDoc(documentReference,{ photoURL: undefined })
但它拋出了這個錯誤:
使用無效資料呼叫函式 updateDoc()。不支持的欄位值:未定義(在檔案 users/d23xxxxxxxxxxxxxxx12 中的欄位 photoURL 中找到)
并且null也不允許將其設定為,因為如果我嘗試將其設定為null:
updateDoc(documentReference,{ photoURL: null })
TypeScript 會拋出這個錯誤:
型別 'null' 不可分配給型別 'FieldValue | 部分 | 不明確的'。
我發現使用類似的空字串可以updateDoc(documentReference,{ photoURL: "" })作業,但它不如nullor優雅undefined。
如果沒有找到其他解決方案,我將使用空字串,但也許還有另一種方法?
uj5u.com熱心網友回復:
Firestore 無法將 javascript 識別undefined為有效值。您可以在檔案中查看有效型別。Null 是一個有效的型別,所以你應該可以使用它。如果不是,那么您應該針對您正在使用的 SDK 提交一個錯誤。如果您使用的是 Web 客戶端 SDK,請使用此 GitHub。請務必提供完整的重現步驟。
如果您只想完全洗掉該欄位以使其完全沒有型別,只需洗掉該欄位并檢查執行查詢的代碼中缺少的欄位。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/464288.html
標籤:javascript 火力基地 谷歌云火库
上一篇:如何根據按鈕單擊按順序添加類?
