【发布时间】:2018-07-15 09:03:27
【问题描述】:
我使用了 firebase 云功能和 twilio sms 功能..
这段代码运行良好,但我不明白如何更新实时数据库中的相同记录
exports.textStatus = functions.database
.ref('/sms_messages/{UID}').onCreate((change, event) => {
const UID = event.params.UID;
return admin.database().ref(`/sms_messages/${UID}`).once('value').then(snapshot => snapshot.val()).then(msg => {
const status = msg.status
const phoneNumber = msg.number
// validate phone number
if ( !validE164(phoneNumber) ) {
throw new Error('number must be E164 format!')
}
const textMessage = {
body: `Velkommen til Club Nautic Booking. Du kan logge ind med ${status} og adgangskoden`,
to: phoneNumber, // Text to this number
from: twilioNumber // From a valid Twilio number
}
return client.messages.create(textMessage)
})
.then(message => {
console.log(message.sid, 'success');;
})
.catch(err => {
console.log(err);
})
});
所以如果发送了短信,我想更新数据库状态中的记录 = 已发送 (msg.status)
console.log(message.sid, 'success');
但不知道如何在此处获取参考并更新相同的子节点..所以状态将更改为已发送或未发送
【问题讨论】:
标签: node.js firebase firebase-realtime-database google-cloud-functions