我正在 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) 我的 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 代码库的这一部分:
我正在使用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)