Cloud Firestore Cloud Functions中`{userId}`的含义及触发配置疑问
关于Firestore Cloud Functions通配符
{userId}的说明 保留
{userId}原样即可:这是Firestore触发器的通配符语法,用来匹配users集合下的任意文档ID。只要该集合内的文档发生变更,函数就会触发,context.params.userId会自动获取到触发本次函数的文档ID,不需要手动替换成具体值。无需替换成
UID字段:{userId}对应的是文档ID,而你存在文档数据里的UID是字段值,二者不是同一个概念。如果只想针对特定UID的文档触发,要在函数逻辑里判断change.after.data().UID是否符合条件,而非修改通配符。针对
time字段触发的处理:通配符无法指定触发的字段,你需要在函数内部添加判断逻辑,只在time字段变更时执行业务代码:exports.useWildcard = functions.firestore .document('users/{userId}') .onWrite((change, context) => { const beforeTime = change.before.data()?.time; const afterTime = change.after.data()?.time; // 仅当time字段发生变化时执行后续逻辑 if (beforeTime !== afterTime) { // 这里编写你的业务代码 console.log(`文档${context.params.userId}的time字段已更新`); } return null; });
内容的提问来源于stack exchange,提问作者Eben Oasis
相关产品推荐
相关产品推荐

