【问题标题】:How to set undefined or null to value in firebase object?如何将 undefined 或 null 设置为 firebase 对象中的值?
【发布时间】:2021-11-05 09:14:42
【问题描述】:

我需要将 null 或 undefined 设置为 Fireabase 对象中的值,如下所示:

const updateObject: Partial<SomeObject> = {
    name: "new name",
    age: undefined
}

userPlanReference.update(updateObject);

当我在上面运行此代码并查看 firebase 应用程序中的对象时,我看到我的 name 已更新,但 age 没有未定义,因此,他没有更新,值仍然像更新前一样,有人可以告诉我如何将 null 或 undefined 设置为 firebase 对象吗?我需要在对象中隐藏这个 age 值,但它不适用于 set undefined,感谢您的帮助

【问题讨论】:

  • 您可以使用firebase.firestore.FieldValue.delete() 取消定义道具。文字 null 应该适用于空值。
  • 这能回答你的问题吗? Firebase won't save keys with null values
  • @danh 我不能导致我的 FieldValue 不能分配给类型编号:/
  • 请显示您的自定义对象的界面,SomeObject
  • @Hydra age?: number

标签: javascript node.js firebase google-cloud-firestore


【解决方案1】:

Undefined 不是 Firestore 字段的有效类型,但 null 是。为了将 age 更改为 null 而不将其从文档中删除,您必须更新 SomeObject 以接受数字或 null。由于您没有指定语言,所以我用 Typescript 编写了它。

export interface SomeObject {
  name: string;
  age?: number | null; // accept null values
}

然后,更新您必须将年龄设置为 null 的代码

const updateObject: Partial<SomeObject> = {
    name: "new name",
    age: null
}

userPlanReference.update(updateObject);

【讨论】:

    猜你喜欢
    • 2021-07-29
    • 2020-07-19
    • 2020-12-06
    • 1970-01-01
    • 1970-01-01
    • 2022-06-22
    • 2023-02-06
    • 2015-06-25
    • 1970-01-01
    相关资源
    最近更新 更多