如何在onCreate函数中获取用于发送邮件的新数据库引用?

问题描述 投票:0回答:1

我正在创建一个在下新订单时就发送邮件的功能,并且我想获取对用户电子邮件的引用,该电子邮件位于路径为=>的数据库内部,> Users / uid / email以获取以下电子邮件的ID用户发送邮件。如何在我的函数中获取此参考?

我已经尝试过firebase.database.ref(/Users/${userId}/email)。val(),admin.database.ref(/Users/${userId}/email)。val()。但是这些都不起作用。

exports.orderPlaced = functions.database.ref(/Users/{uid}/Bag/Books/{orderId})。onCreate((快照,上下文)=> {

const userId = context.params.uid;
const orderid = context.params.orderId;

const refer = firebase.database.ref(`/Users/${userId}/email`).val();

const mailOptions = {
    from: '"abc" <[email protected]>',
    to: '[email protected]',
    subject: 'Order Details',
    html: `<p style="font-size: 16px;">${orderId}</p>
            <br />
        ` // email content in HTML
};

try {
    mailTransport.sendMail(mailOptions);
    console.log('mail send');

} 
catch(error) {
    console.error('There was an error while sending the email:', error);
}

返回null;});

我想获取用户的电子邮件ID,但得到的错误是在export.orderPlaced.functions.database.ref上未定义firebase。>

我正在创建一个在下新订单时就发送邮件的功能,并且我希望获得对用户电子邮件的引用,该邮件位于路径为=>的数据库内部。> Users / uid / email以获取电子邮件.. 。

database firebase
1个回答
0
投票

您可能会收到未定义的export.orderPlaced错误,因为firebase使用导出功能来获取文档中在const中引用的文档

© www.soinside.com 2019 - 2024. All rights reserved.