[英]How to update a Firestore field to give it an empty value (undefined or null)?
我的 Firestore 文档有一个已设置值的字段。
现在我想通过将其设置为表示“空”的值来删除该值,例如null
或undefined
。
到目前为止,我已尝试使用updateDoc
方法执行此操作,如下所示:
updateDoc(documentReference,{ photoURL: undefined })
但它抛出这个错误:
Function 使用无效数据调用了 updateDoc()。 不支持的字段值:未定义(在文档 users/d23xxxxxxxxxxxxxxx12 的字段 photoURL 中找到)
并且将其设置为null
也是不允许的,因为如果我尝试将其设置为null
,如下所示:
updateDoc(documentReference,{ photoURL: null })
TypeScript 会抛出这个错误:
类型“null”不可分配给类型“FieldValue | 部分| 不明确的'。
我发现使用像updateDoc(documentReference,{ photoURL: "" })
这样的空字符串是可行的,但它不如null
或undefined
优雅。
如果找不到其他解决方案,我将使用空字符串,但也许还有另一种方法?
Firestore 无法将 javascript undefined
识别为有效值。 您可以在文档中查看有效类型。 Null 是一个有效的类型,所以你应该可以使用它。 如果你不是,那么你应该针对你正在使用的 SDK 提交错误。 如果您使用的是 web 客户端 SDK,请使用此 GitHub 。 请务必提供完整的重现步骤。
如果您只想完全删除该字段以使其根本没有类型,只需删除该字段并检查执行查询的代码中是否缺少缺少的字段。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.