亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

多個集合的云函數觸發器

多個集合的云函數觸發器

大話西游666 2021-09-04 21:58:51
exports.myFunction = functions.firestore    .document('users/{userID}')    .onDelete((snap, context) => {        // do something    });我希望這個函數也為另一個集合觸發,比如offices. 在不復制和粘貼整個內容的情況下執行此操作的最佳方法是什么?
查看完整描述

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(...) {

    ...

}


查看完整回答
反對 回復 2021-09-04
?
慕容森

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;

    });


查看完整回答
反對 回復 2021-09-04
  • 2 回答
  • 0 關注
  • 197 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號