【发布时间】:2021-09-01 13:27:23
【问题描述】:
嘿,我刚刚更新了我的项目以使用 Firebase 版本 9 模块化。现在,在重构代码之后,我想知道哪种方式可以获得理想的结果:
有一个文档有几个必填字段(比如说:姓名、姓氏)。现在我想添加/更新该文档,但它有多个不需要的字段。
实现此目的的最佳做法是什么?有条件地添加/更新 [1] 或使用“ignoreUndefinedProperties”[2]?
[1] 条件添加/更新...
if(address){
await updateDoc(
doc(db, collection, id), {
name,
lastName,
address,
})
} else {
await updateDoc(
doc(db, collection, id), {
name,
lastName,
})
}
[2] 忽略未定义属性...
我也找不到关于如何在新版本中使用“ignoreUndefinedProperties”的文档,所以有人可以指导我正确使用。
EDIT(这也是(添加 EDIT)继续和细化我的问题的最佳方式吗?我是新手,所以我也在寻找 StackOverflow 最佳实践)
我正在测试必需的值,但我应该如何处理不需要的值?
我有多个集合和对它们的 +20 调用,在许多情况下只需要 2-4 个值,而可能有 20 个不需要的值。
这样,如果任何这些不需要的值未定义并且在 updateDoc() 中,我会收到以下错误...
Function updateDoc() called with invalid data. Unsupported field value: undefined (found in field exampleNotRequiredValue in document ...)
所以对于这种情况是不是更好
[1] 检查值是否未定义,在这种情况下将它们添加到更新对象
[2] 使用 ignoreUndefinedProperties (这不是这个设置的重点,这不是自动检查,我不需要更改很多功能吗?)
【问题讨论】:
标签: javascript firebase google-cloud-firestore