云函数-像对象值一样访问json

时间:2018-12-03 23:16:00

标签: javascript firebase google-cloud-firestore google-cloud-functions

我正在使用云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

如何正确访问金额值?

谢谢。

1 个答案:

答案 0 :(得分:4)

如果我正确理解您的结构,我相信我会看到您的错误。

const data = change.after.data();
const payment = data.payment;
console.log(payment.amount + " " + userId + " " + paymentId);