Ваш код записывает данные в базу данных под узлом server
(местоположение). Результат в базе данных выглядит следующим образом (экспорт из консоли Firebase):
"server" : {
"saving-data" : {
"fireblog" : {
"users" : {
"alanisawesome" : {
"date_of_birth" : "June 23, 1912",
"full_name" : "Alan Turing"
},
"gracehop" : {
"date_of_birth" : "December 9, 1906",
"full_name" : "Grace Hopper"
}
}
}
}
}
Таким образом, в основном ответ на вопрос № 1: «Он сохранен».
Вопрос # 2: значение db.ref("server/saving-data/fireblog")
является экземпляром Reference
, который «представляет конкретное местоположение в вашей базе данных и может использоваться для чтения или записи данных в это местоположение базы данных», см. https://firebase.google.com/docs/reference/js/firebase.database.Reference
var usersRef = ref.child("users");
также является ссылкой, которую вы получаете методом child()
, см. https://firebase.google.com/docs/reference/js/firebase.database.Reference#child
Итак, комбинируя исходную ссылку и метод child()
, когда вы делаете usersRef.set({})
, вы пишете по следующему пути: server/saving-data/fireblog/users
. Что и отражено выше при экспорте базы данных.
Обратите внимание, что с вашим текущим кодом вы всегда будете записывать одни и те же данные в местоположении, то есть следующий объект:
{
alanisawesome: {
date_of_birth: "June 23, 1912",
full_name: "Alan Turing"
},
gracehop: {
date_of_birth: "December 9, 1906",
full_name: "Grace Hopper"
}
}
Опять же, это отражено выше при экспорте базы данных.
С такой облачной функцией, которую вы вызываете через HTTPS, вы классически получите данные, которые хотите записать, в базу данных в теле HTTP-запроса.
Последний пункт: я бы реорганизовал вашу функцию следующим образом:
const db = admin.database();
const ref = db1.ref("server/saving-data/fireblog");
exports.uploadFile = functions.https.onRequest((req, res) => {
cors(req, res, () => {
const usersRef = ref.child("users");
if (req.method !== 'POST') {
return res.status(500).json({
message: 'Not allowed'
})
} else {
return usersRef.set({
alanisawesome: {
date_of_birth: "June 23, 1912",
full_name: "Alan Turing"
},
gracehop: {
date_of_birth: "December 9, 1906",
full_name: "Grace Hopper"
}
}).then(() => {
res.status(200).json({
message: req.body
});
}).catch(error => {
return res.status(500).send(error);
})
}
})
});
Наконец, я бы посоветовал вам посмотреть следующее видео от команды Firebase: https://www.youtube.com/watch?v=7IkUgCLr5oA