Как обновить или установить свойство документа firestore после запуска облачной функции .onCreate - PullRequest
0 голосов
/ 03 февраля 2019

В настоящее время я пытаюсь интегрировать Stripe с моей базой данных Firebase Cloud Firestore с помощью облачных функций для Firebase.Триггер onCreate работает правильно, но я также хочу, чтобы он обновил или установил конкретное поле с именем customer_id в нужный документ в моей коллекции Users.Я думаю, что что-то не так в том, как я пишу свою функцию, так как я не самый опытный в 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})
    });
  });

Клиент создается с Stripe без проблем, но поле "customter_id" не обновляется в базе данных Firestore.

Печать экрана базы данных: enter image description here

Печать экрана журнала ошибок: enter image description here

1 Ответ

0 голосов
/ 03 февраля 2019

Как сказано в комментариях, с экрана печати журнала ошибок развернутый вами код не соответствует коду, на который вы ссылаетесь в своем вопросе.

Код в вашем вопросе выглядит правильно.

...