Итак, в основном я хочу перенести свои данные из базы данных Firebase Realtime в Cloud Firestore. Это то, что я сейчас пробовал:
bot.post('/', async (req, res) => {
// const receivedTimestamp = Date.now()
const telegramText = req.body
&& req.body.message
&& req.body.message.chat
&& req.body.message.chat.id
&& req.body.message.from
&& req.body.message.from.first_name
if (telegramText && req.body.message === '/migrate') {
const snapAllUsersData = await admin.database().ref(`/Data/users/`).once("value").then(async function (allUsers: any) {
let usersMigrated= 0
allUsers.forEach((eachUser: any) => {
usersMigrated= usersMigrated + 1
const currentName = eachUser.val().name
const currentCountry = eachUser.val().country
admin.firestore().collection('users').doc(currentName.toLowerCase()).set({ "name": currentName, "country": currentCountry }, { merge: true }).then(() => {
console.log(`${usersMigrated} | ${currentName} | ${currentCountry}`)
}).catch((err) => {
console.log(err)
})
});
console.log(`${usersMigrated} migrated successfully`)
}).catch((errGettingData) => {
console.log(errGettingData)
return
})
})
В консоли Firebase нет журналов Либо: (
Подобный код работает в Node.JS проектах, которые я запускаю на своем GCP VM. SN Здесь не работает ....
Структура базы данных:
Data:
users:
User1:
name: "Dharmaraj",
country: "IN"
User8:
name: "Qwerty",
country: "US"
PS: нет проблем с путями и чувствительностью к регистру
РЕДАКТИРОВАТЬ: Итак, теперь я запустил тот же самый КОД в проекте NODE.JS без облачных функций .... Просто запустил его в локальном терминале, и он работал очень гладко, и все данные были перенесены в течение 5 секунд ...