首页 > 解决方案 > 创建文档时触发云功能

问题描述

我需要创建一个 Firebase 云函数,每次我将文档添加到集合时都会触发该函数。这个功能:

exports.sendEmailConfirmation = functions.firestore.document('multies/{id}/tenties/{id}').onCreate((snap, context) => {
    // Get an object representing the document
    //...
    return transporter.sendMail(mailOptions).catch((err) => {
        console.error(err);
        return {
            error: err
        }
    });

  });

我在控制台中收到以下错误:

功能[sendEmailConfirmation(us-central1)]:部署错误。未能配置触发器提供程序/cloud.firestore/eventTypes/document.create@firestore.googleapis.com ( gcf .us-central1.sendEmailApplicationConfirmation)

在 Firestore 数据库中,我有一个集合“multies”,它有多个文档,而 foreach 文档我有一个“tenties”集合,它也可以有多个文档。每次我们将文档添加到“multies”集合中任何文档的“tenties”集合时,我的函数都应该触发。

我可以就如何配置路径或我在这里遇到的其他错误获得任何帮助吗?

标签: firebasegoogle-cloud-firestoregoogle-cloud-functions

解决方案


我认为您不应该在路径中使用重复的通配符:尝试'multies/{multiId}/tenties/{tentiId}'而不是'multies/{id}/tenties/{id}'

请记住,它们将在您的 context.params 对象中可用。


推荐阅读