Использование onCreate с Firebase Cloud Functions во вложенной коллекции - PullRequest
0 голосов
/ 24 апреля 2020

Я хочу создать облачную функцию Firebase, которая будет вызываться каждый раз при создании документа. Используя их руководство, у меня есть следующий код:

exports.sendConfirmationEmail = functions.firestore.document('collection1/{resId}')
    .onCreate((snap, context) => {
      // my method
    });

Теперь этот метод вызывается каждый раз, когда документ добавляется в collection1. Но у меня есть структура базы данных, которая выглядит следующим образом:

| предприятия

| => деловой документ

| => | оговорки

Не уверен, имеет ли это какой-либо смысл, но по существу существует бизнес-коллекция, в которой каждый бизнес-документ содержит вложенную коллекцию резервирований. Мне нужно написать функцию, которая будет выполняться каждый раз, когда документ добавляется в коллекцию резервирований в каждой компании, но я все равно смогу получить доступ к бизнес-документу. Как я могу выполнить это? Спасибо за любую помощь.

Ответы [ 2 ]

2 голосов
/ 24 апреля 2020

Ваше определение функции будет выглядеть так:

exports.yourFunctionName =
functions.firestore.document('businesses/{businessId}/reservations/{reservationId}')
.onCreate((snap, context) => {
    // your code goes here
});
1 голос
/ 24 апреля 2020

Для всех остальных, вот что будет выглядеть при попытке получить как бизнес, так и резервирование:

exports.getReservationFromBusiness = functions.firestore.document('businesses/{bisId}/reservations/{resId}')
    .onCreate((snap, context) => {
      const businessId = context.params.bisId;
      const reservation = snap.data();
    });

Этот код взят из документации и Github страница .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...