Database 如何在用于发送邮件的onCreate函数中获取新的数据库引用?
我正在创建一个函数,以便在下新订单时发送邮件,并希望获取对数据库中用户电子邮件的引用,该数据库的路径为=>Users/uid/email,以获取发送邮件的用户的电子邮件id。如何在我的函数中获取此引用 我尝试了firebase.database.ref(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/${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;