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

Database 如何在用于发送邮件的onCreate函数中获取新的数据库引用?,database,firebase,Database,Firebase,我正在创建一个函数,以便在下新订单时发送邮件,并希望获取对数据库中用户电子邮件的引用,该数据库的路径为=>Users/uid/email,以获取发送邮件的用户的电子邮件id。如何在我的函数中获取此引用 我尝试了firebase.database.ref(/Users/${userId}/email).val()、admin.database.ref(/Users/${userId}/email).val()。但这些都不管用 exports.orderPlaced = functions.data

我正在创建一个函数,以便在下新订单时发送邮件,并希望获取对数据库中用户电子邮件的引用,该数据库的路径为=>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((snapshot, context) => {


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

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

const mailOptions = {
    from: '"abc" <abc@gmail.com>',
    to: 'xyz@gmail.com',
    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);
}

return null; 
});
exports.orderplace=functions.database.ref(/Users/{uid}/Bag/Books/{orderId})。onCreate((快照,上下文)=>{
const userId=context.params.uid;
const orderid=context.params.orderid;
const refere=firebase.database.ref(/Users/${userId}/email).val();
常量邮件选项={
发件人:“‘abc’”,
致:'xyz@gmail.com',
主题:“订单详情”,
html:`

${orderId}


`//HTML格式的电子邮件内容 }; 试一试{ mailTransport.sendMail(邮件选项); log(“邮件发送”); } 捕获(错误){ console.error('发送电子邮件时出错:',错误); } 返回null; });

我想获取用户的电子邮件id,但我得到的错误是,exports.orderPlaced.functions.database.ref中没有定义firebase,您可能会得到未定义的export.orderPlaced错误,因为firebase使用导出函数来获取文档,而在您的代码中,该文档是常量引用

举个例子:
----exports.sendNotification=functions.database.reference(“Users/{user\u id}/Email/{Email\u id}”).onWrite(event=>{
const user_id=event.params.user_id;

const email\u id=event.params.email\u id;----------------

我想获取用户电子邮件,向他发送一封电子邮件,邮件位于其他位置。如何在函数中获取该值?要获取函数中的a值,请在数据库路径中创建一个表示为对象的变量/const,无需以美元符号开头,只需使用{uid}然后要获得返回admin.database()的值,请记住通过const admin=require('firebase-admin')初始化admin;