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, упрощая управление базами данных и ускоряя процесс разработки.