小编T_R*_*T_H的帖子

删除Firestore中的文档不更新onSnapshot

我正在 React Native 中从 firestore 获取项目列表。

如果更新了项目文档,我的列表将通过 onSnapshot 按预期刷新。但如果删除该文档,我的列表不会刷新。

有没有办法让我捕获已删除的文档?

this.unsubscribe = firebase.firestore().collection('bigItems').doc(id)
                  .collection('littleItems').onSnapshot(this.getItems)

   getItems = (querySnapshot) => {
     const items = [];

    querySnapshot.forEach((doc) => {
      firebase.firestore().collection('events').doc(doc.id).get()
        .then(item => {
            const { id } = item.data();
            items.push({
              id: item.id
            });
            this.setState({
              items: items,
              loading: false,
           });
        })
        .catch(function (err) {
          return err;
        });
    })
  }
Run Code Online (Sandbox Code Playgroud)

react-native google-cloud-firestore

6
推荐指数
1
解决办法
2431
查看次数

“firebase 部署——仅托管”突然失败,并显示“错误:无法列出 <PROJECT> 的功能”

我的 Firebase 托管部署突然开始在我的 Github CI 工作流程和本地计算机中失败。

$ firebase deploy --only hosting

=== Deploying to '<project>'...

i  deploying hosting

Error: Failed to list functions for <project>
Run Code Online (Sandbox Code Playgroud)

该项目没有任何功能,仅托管一个静态站点。谷歌搜索“无法列出功能”结果为空,这似乎不是一个常见问题。我能找到的唯一线索表明某种网络错误。

我已经更新了我的 firebase-tools,注销并再次登录以生成新的 CI 令牌,从我的 Github 工作流程以及从我的机器手动尝试了该过程,所有这些都达到了相同的效果。

我找不到有关此问题的任何信息,除了错误似乎来自 firebase-tools 代码库的这一部分:

https://github.com/firebase/firebase-tools/blob/c0f19a32845135108c75a1050024965cb1e3f52d/src/gcp/cloudfunctions.ts

firebase-hosting firebase-cli

6
推荐指数
2
解决办法
1364
查看次数

在.onWrite Firebase云函数中访问doc.id

我正在使用onWrite触发云功能。在onWrite函数中,我想对所写文档的ref ID做一些事情。我该怎么抓?我当前的代码看起来像这样,但是我不知道如何填充eventID。

exports.syncEvents = functions.firestore
    .document('events/{eventID}')
    .onWrite((change, context) => {

admin.firestore().collection('users').doc(host).collection('events').doc(eventID).set({
            active: true
          })
        });
Run Code Online (Sandbox Code Playgroud)

firebase google-cloud-functions google-cloud-firestore

2
推荐指数
1
解决办法
903
查看次数