繁体   English   中英

如何更新 Firestore 字段以为其提供空值(未定义或 null)?

[英]How to update a Firestore field to give it an empty value (undefined or null)?

我的 Firestore 文档有一个已设置值的字段。

现在我想通过将其设置为表示“空”的值来删除该值,例如nullundefined

到目前为止,我已尝试使用updateDoc方法执行此操作,如下所示:

updateDoc(documentReference,{ photoURL: undefined })

但它抛出这个错误:

Function 使用无效数据调用了 updateDoc()。 不支持的字段值:未定义(在文档 users/d23xxxxxxxxxxxxxxx12 的字段 photoURL 中找到)

并且将其设置为null也是不允许的,因为如果我尝试将其设置为null ,如下所示:

updateDoc(documentReference,{ photoURL: null })

TypeScript 会抛出这个错误:

类型“null”不可分配给类型“FieldValue | 部分| 不明确的'。

我发现使用像updateDoc(documentReference,{ photoURL: "" })这样的空字符串是可行的,但它不如nullundefined优雅。

如果找不到其他解决方案,我将使用空字符串,但也许还有另一种方法?

Firestore 无法将 javascript undefined识别为有效值。 您可以在文档中查看有效类型。 Null 是一个有效的类型,所以你应该可以使用它。 如果你不是,那么你应该针对你正在使用的 SDK 提交错误。 如果您使用的是 web 客户端 SDK,请使用此 GitHub 请务必提供完整的重现步骤。

如果您只想完全删除该字段以使其根本没有类型,只需删除该字段并检查执行查询的代码中是否缺少缺少的字段。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM