Подробное руководство: как получить идентификатор в облачных функциях onCreate

Облачные функции в Firebase предоставляют бессерверную среду для запуска вашего серверного кода. Триггер onCreateспециально разработан для реагирования на создание новых документов в Firestore или добавление новых записей в базу данных реального времени. В этой статье мы рассмотрим различные методы получения идентификатора созданного документа или записи в облачной функции onCreate. Мы предоставим примеры кода, иллюстрирующие каждый подход.

Метод 1: использование параметра события

exports.onCreateDocument = functions.firestore
  .document('collection/{documentId}')
  .onCreate((snapshot, context) => {
    const documentId = context.params.documentId;
    console.log('Document ID:', documentId);
    // Perform further operations using the documentId
  });

Метод 2: доступ к объекту снимка

exports.onCreateRecord = functions.database
  .ref('path/to/record/{recordId}')
  .onCreate((snapshot) => {
    const recordId = snapshot.key;
    console.log('Record ID:', recordId);
    // Perform further operations using the recordId
  });

Метод 3. Извлечение идентификатора из URL-адреса ресурса

exports.onCreateDocument = functions.firestore
  .document('collection/{documentId}')
  .onCreate((snapshot) => {
    const documentId = snapshot.ref.id;
    console.log('Document ID:', documentId);
    // Perform further operations using the documentId
  });

Метод 4. Использование context.eventId

exports.onCreateDocument = functions.firestore
  .document('collection/{documentId}')
  .onCreate((snapshot, context) => {
    const eventId = context.eventId;
    console.log('Event ID:', eventId);
    // Perform further operations using the eventId
  });

Метод 5. Извлечение идентификатора из пути к снимку

exports.onCreateDocument = functions.firestore
  .document('collection/{documentId}')
  .onCreate((snapshot) => {
    const documentId = snapshot.ref.path.split('/')[1];
    console.log('Document ID:', documentId);
    // Perform further operations using the documentId
  });

Получение идентификатора в облачной функции onCreateнеобходимо для выполнения дополнительных операций или обновления связанных данных. В этой статье мы рассмотрели пять различных методов выполнения этой задачи. Используя параметр события, получая доступ к объекту снимка, извлекая идентификатор из URL-адреса ресурса, используя context.eventId или извлекая идентификатор из пути к снимку, вы можете эффективно получить идентификатор в своем onCreateОблачная функция. Выберите метод, который лучше всего соответствует вашим требованиям, и создавайте мощные бессерверные приложения с помощью Firebase.

Не забудьте выбрать подходящий метод в зависимости от вашего конкретного варианта использования и структуры ваших документов Firestore или записей базы данных реального времени.