首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何侦听使用非现有字段创建并在云函数中设置默认值的Firestore文档?

如何侦听使用非现有字段创建并在云函数中设置默认值的Firestore文档?
EN

Stack Overflow用户
提问于 2021-01-09 01:30:30
回答 1查看 123关注 0票数 0

上下文

我试图侦听在客户端创建帐户时没有设置隐私字段的新客户端帐户(客户端的默认隐私设置将在下一次更新中出现)。

主要问题

打印到Firebase控制台的非现有文档字段是undefined,我可以将变量与非现有字段进行比较,比如这个privacy===null

此外,请让我知道是否有更好的方式来构造这种类型的功能。

代码语言:javascript
复制
export const listenForPrivacyNullAccounts = functions.firestore
    .document('users/{userId}')
    .onCreate(async (snapshot, context) => {
      const { uid } = context.params
      const data = snapshot.data()

      const privacy = data.isPrivate

      if(privacy===null){
        const userRef = db.collection('users').doc(uid)
        const res = await userRef.set({
          isPrivate: false
        }, { merge: true })
        return res
      } else {
        return null
      }
    })
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-09 02:13:43

如果在查询的文档中没有添加/显示字段,您将得到undefined;在这种情况下,您可以通过检查值为undefined来进行更新。

但是,如果在创建文档时有意为该字段传递null,则应遵循当前的片段。它只检查值是否为空。

在类型记录中,简单的检查应该使用零煤层气运算符来定义。

代码语言:javascript
复制
   const privacy = data.isPrivate ?? false

这里,只有当privacy字段为null或未定义时,data.isPrivate才是false

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65638473

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档