Firebase Firestore onUpdate触发器仅特定文档不触发问题
Firestore onUpdate触发器仅对特定UID文档无响应
我碰到了一个棘手的问题:Firestore集合中99%的文档更新都能正常触发onUpdate云函数,但有两个特定文档完全没反应。更新这两个文档时,Google Cloud函数日志里既看不到函数启动/停止的记录,也没有functions.logger.info()的输出,仿佛触发器根本没被触发。
根据Firebase官方文档的说明,onUpdate触发器会在文档已存在且任意字段发生变化时触发。所有文档的结构完全一致,只有这两个文档出现问题,而且没有任何报错日志,我推测可能是Firestore侧存在某种阻塞逻辑。
另外,这两个出问题的文档ID正好是Firebase Auth数据库中的用户UID,我怀疑会不会和对应UID的Auth登录状态有关,但没找到官方文档支持这种关联。我已经向Google Cloud触发事件团队提交了支持工单,后续会更新进展。
我的onUpdate函数代码片段
exports.updated = functions .region('us-east4') .firestore.document('myCollection/{uid}') .onUpdate(async (data, context) => { try { functions.logger.info(`onUpdate triggered for uid ${context.params.uid}`, context) const before = data.before.data() const after = data.after.exists ? data.after.data() : null functions.logger.info(`before data for uid: ${context.params.uid}`, before) functions.logger.info(`after data for uid: ${context.params.uid}`, after) } catch (error) { functions.logger.error(error) } })
有没有人遇到过onUpdate()仅针对特定文档ID不触发的情况?
内容的提问来源于stack exchange,提问作者Zelf
相关产品推荐
相关产品推荐

