.onCreate云函数触发后如何更新或设置Firestore文档的属性

时间:2019-02-02 21:30:24

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

我目前正在尝试通过使用Cloud Functions for Firebase将Stripe与Firebase的Cloud Firestore数据库集成。该onCreate触发正确地发生,但我也希望它更新或称为“CUSTOMER_ID”特定字段设置为我的用户收集正确的文件。我认为关于函数的编写方式有些不足,因为我不是最有经验的javascript。

我也尝试过

return admin.firestore().ref(`Users/${user.uid}/customer_id`).set(customer.id);
'use strict';

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
//const logging = require('@google-cloud/logging')();
const stripe = require('stripe')(functions.config().stripe.token);
const currency = functions.config().stripe.currency || 'USD';

// When a user is created, register them with Stripe
exports.createStripeCustomer = functions.auth.user().onCreate((user) => {
    return stripe.customers.create({
      email: user.email,
    }).then((customer) => {
        return admin.firestore().collection("Users").doc(user.uid).update({"customer_id": customer.id})
    });
  });

客户获取与条纹没有问题,但“customter_id”字段是没有得到对公司的FireStore数据库更新创建。

数据库的打印屏幕: enter image description here

错误日志的打印屏幕: enter image description here

1 个答案:

答案 0 :(得分:0)

如评论中所述,在错误日志的打印屏幕上,您部署的代码与您在问题中引用的代码不匹配。

您问题中的代码看起来正确。