从火力基地获取数据到node.js文件

时间:2019-11-30 18:56:00

标签: javascript node.js firebase google-cloud-firestore google-cloud-functions

我想从我的数据库中获取数据,并希望将这些数据保存到amount: snapshot,的数量上,我确实应用了const snapshot = firestore.collection('payment').doc(context.params.amount).get();,这是否以相同的方式起作用?但我收到一个上下文未定义的错误。 我实际上想从数据库中获取数据。

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
const firestore= admin.firestore();
const stripe = require('stripe')('');
const snapshot = firestore.collection('payment').doc(context.params.amount).get();

const customer =  stripe.customers.create({
  email: 'customer@example1.com',
});
stripe.customers
  .create({
    email: 'foo-customer@example.com',
  })
  .then((customer) => {
    return stripe.customers.createSource(customer.id, {
      source: 'tok_visa',
    });
  })
  .then((source) => {
    return stripe.charges.create({
      amount: snapshot,
      currency: 'usd',
      customer: source.customer,
    });
  })
  .then((charge) => {
    // New charge created on a new customer
  })
  .catch((err) => {
    // Deal with an error
  });

1 个答案:

答案 0 :(得分:1)

您正在尝试通过上下文访问amount来获取params, 取决于您的错误,这意味着contextundefined,这意味着您正在尝试获取params中的undefined。您需要在这里解释context是什么意思,它是全局变量吗?这段代码在cloud function中吗?如果yes您需要将此声明const snapshot = firestore.collection('payment').doc(context.params.amount).get(); 移动到您的云函数中, 这是Firebase云功能的example