Как получить доступ к другой коллекции в функции firebase - PullRequest
0 голосов
/ 20 июня 2020

Обещаю, я тщательно проверил все заданные ранее вопросы, и ничего похожего на это нет. У меня есть функция firebase, которая слушает onCreate в коллекции firestore.

exports.sendEmail = functions.firestore.document('/Users/{documentId}')
    .onCreate((snap, context) => {

        const username = snap.data().username;
        const email = snap.data().email;

        console.log(username, email)

        const mailRef = functions.firestore.document('/mail')
        return mailRef.ref.set({
            email: email,
            subject: 'Welcome'

        });


    });

После того, как документ создан в Users, я хочу взять данные в пользователях и создать новый документ в основной коллекции под названием mail. Возможно ли это, потому что я читал документы раз 10, а об этом ничего нет. Любая помощь приветствуется.

1 Ответ

1 голос
/ 20 июня 2020

Чтобы создать документ в облачных функциях, вам необходимо использовать admin sdk, поэтому сначала установите пакет:

npm install firebase-admin --save

инициализируйте admin sdk:

const admin = require('firebase-admin');

admin.initializeApp({
  credential: admin.credential.applicationDefault()
});

const db = admin.firestore();

Затем можно добавить:

       const mailRef = db.collection('mail')
        return mailRef.add({
            email: email,
            subject: 'Welcome'

        });

https://googleapis.dev/nodejs/firestore/latest/CollectionReference.html#add

...