2 回答
TA贡献1866条经验 获得超5个赞
路径中的任何内容都可以是通配符,因此如果要在所有集合上触发:
exports.myFunction = functions.firestore
.document('{collectionName}/{userID}')
.onDelete((snap, context) => {
// do something
});
但是,无法设置在两个但并非所有集合上触发的单个路径。如果需要,只需通过在 aa(常规非云)函数中隔离该代码来最小化代码重复:
exports.myFunction = functions.firestore
.document('users/{userID}')
.onDelete((snap, context) => {
doSomething(...)
});
exports.myFunction = functions.firestore
.document('offices/{officeID}')
.onDelete((snap, context) => {
doSomething(...)
});
function doSomething(...) {
...
}
TA贡献1853条经验 获得超18个赞
添加到另一个答案,您可以使用检查来执行通配符功能:
exports.myfunction = functions.firestore
.document('{colId}/{docId}')
.onWrite(async (change, context) => {
const col = context.params.colId;
const doc = context.params.docId;
if (col === 'users' || col === 'offices') {
return...
}
return null;
});
添加回答
举报