Комплексное руководство по клонированию коллекции Firestore в Firebase

Firebase Firestore – это база данных документов NoSQL, предоставляемая Google как часть платформы Firebase. Клонирование коллекции Firestore предполагает создание идентичной копии существующей коллекции, включая все ее документы и подколлекции. В этой статье мы рассмотрим различные методы клонирования коллекции Firestore в Firebase, а также приведем примеры кода.

Метод 1: использование пакетной записи

const admin = require('firebase-admin');
const sourceCollectionRef = admin.firestore().collection('sourceCollection');
const targetCollectionRef = admin.firestore().collection('targetCollection');
sourceCollectionRef.get()
  .then((snapshot) => {
    const batch = admin.firestore().batch();
    snapshot.forEach((doc) => {
      const newDocRef = targetCollectionRef.doc(doc.id);
      batch.set(newDocRef, doc.data());
    });
    return batch.commit();
  })
  .then(() => {
    console.log('Collection cloned successfully!');
  })
  .catch((error) => {
    console.error('Error cloning collection:', error);
  });

Метод 2. Использование облачных функций

const functions = require('firebase-functions');
const admin = require('firebase-admin');
exports.cloneCollection = functions.https.onRequest(async (req, res) => {
  try {
    const sourceCollectionRef = admin.firestore().collection('sourceCollection');
    const targetCollectionRef = admin.firestore().collection('targetCollection');
    const snapshot = await sourceCollectionRef.get();
    snapshot.forEach((doc) => {
      const newDocRef = targetCollectionRef.doc(doc.id);
      newDocRef.set(doc.data());
    });
    res.status(200).send('Collection cloned successfully!');
  } catch (error) {
    console.error('Error cloning collection:', error);
    res.status(500).send('Error cloning collection');
  }
});

Метод 3. Использование интерфейса командной строки Firebase

$ firebase firestore:export --collection=sourceCollection --output=./exportedData
$ firebase firestore:import --collection=targetCollection --input=./exportedData/sourceCollection.json

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

Следуя методам, описанным в этой статье, вы сможете легко клонировать коллекции Firestore в Firebase, упрощая управление базами данных и ускоряя процесс разработки.