Javascript 多个集合的云函数触发器

Javascript 多个集合的云函数触发器,javascript,node.js,google-cloud-functions,Javascript,Node.js,Google Cloud Functions,我希望这个函数也能触发另一个集合,比如说offices。不复制和粘贴整个内容的最佳方法是什么?路径中的任何内容都可以是通配符,因此如果要在所有集合上触发: exports.myFunction = functions.firestore .document('users/{userID}') .onDelete((snap, context) => { // do something }); 但是,无法设置在两个但不是所有集合上触发的单个路径。如果

我希望这个函数也能触发另一个集合,比如说
offices
。不复制和粘贴整个内容的最佳方法是什么?

路径中的任何内容都可以是通配符,因此如果要在所有集合上触发:

exports.myFunction = functions.firestore
    .document('users/{userID}')
    .onDelete((snap, context) => {
        // do something
    });
但是,无法设置在两个但不是所有集合上触发的单个路径。如果需要,只需通过在a(常规非云)函数中隔离代码来最小化代码重复:

exports.myFunction = functions.firestore
    .document('{collectionName}/{userID}')
    .onDelete((snap, context) => {
        // do something
    });

除了另一个答案之外,还可以通过检查执行通配符功能:

exports.myfunction=functions.firestore
.document(“{colId}/{docId}”)
.onWrite(异步(更改、上下文)=>{
const col=context.params.colId;
const doc=context.params.docId;
if(col==‘用户’| | col==‘办公室’){
返回。。。
}
返回null;
});
exports.myFunction = functions.firestore
    .document('users/{userID}')
    .onDelete((snap, context) => {
        doSomething(...)
    });
exports.myFunction = functions.firestore
    .document('offices/{officeID}')
    .onDelete((snap, context) => {
        doSomething(...)
    });
function doSomething(...) {
    ...
}