Мне нужно создать пользователя Firebase, у которого есть 3 связанных набора данных, сохраненных в базе данных реального времени, расположенной, как показано ниже.
root
|
x - dataset1
|
x - dataset2
|
x - whatever
| |
| x - dataset3
|
Пользователь создается функцией firebase, имеющей следующую схему:
exports.createNewUser = functions.https.onRequest((req, res) => {
const userData = {
...
};
const data1 = {
"key1" : "value1",
"key2" : "value2",
...
};
const data2 = {
"key1" : "value1",
"key2" : "value2",
...
};
const data3 = {
"key1" : "value1",
"key2" : "value2",
...
};
admin.auth().createUser(userData)
.then(userRecord => (
var promises = [];
promises.push(admin.database().ref(`dataset1/${userId}`).set(data1));
promises.push(admin.database().ref(`dataset2/${userId}`).set(data2));
promises.push(admin.database().ref(`whatever/dataset3/${userId}`).set(data3));
return Promise.all(promises);
)}
.then(() => {
res.status(200).end();
})
}
Странно то, что когда функция запускается в первый раз, она работает отлично, но каждый раз после первого запускается дважды.
До сих пор я решила переместить «data3» под рутом, но так ли этоошибка или я сделал что-то не так?
спасибо заранее
** РЕДАКТИРОВАТЬ **
@ Дуг Стивенсон Я попробовал ваше предложение, но, к сожалению, нет, здесьВот несколько скриншотов.