我正在使用云Firestore和云功能。我有一个函数,该函数侦听何时将某些内容写入到Cloud Firestore数据库中的特定路径,并且它执行某些操作onWrite()
。特别是,我正在实施条纹支付。我有许多写入数据库的字段,其中一个是对象,其结构类似于(记录付款对象的控制台输出):
{ payment: { amount: 500, token: { card: [Object], ...} } }
当我尝试执行以下操作时,尤其是console.log():
exports.charge = functions.firestore
.document('/payments/{userId}/{paymentId}')
.onWrite((change, context) => {
const payment = change.after.data();
const userId = context.params.userId;
const paymentId = context.params.paymentId;
console.log(payment.amount + " " + userId + " " + paymentId);
})
在控制台记录付款金额时,它显示为undefined
。
如何正确访问金额值?
谢谢。
答案 0 :(得分:4)
如果我正确理解您的结构,我相信我会看到您的错误。
const data = change.after.data();
const payment = data.payment;
console.log(payment.amount + " " + userId + " " + paymentId);