Мне трудно понять, что я делаю не так.Я пришел из мира Android, где все намного проще ... во всяком случае, у меня есть функция, которая проверяет, существует ли таблица базы данных firebase, которую я хочу обновить, если она не создает ее.Пока все хорошо, проблема в том, что после создания таблицы я хочу обновить ее содержимое впоследствии, и у меня возникают проблемы с пониманием, почему я не могу обновить созданный мной массив.
вот мой код -
, как я уже сказал, у меня проблемы с передачей в мой массив.В журнале консоли Firebase я получаю следующую ошибку -
Насколько я знаю, массивы имеют метод .push.Так что же я делаю не так?
edit -
Вот как выглядит моя база данных.Очевидно, я держу 2 переменные, а не переменную и список, как я хотел бы.Я хочу, чтобы userUID были списком -
edit -
вот мой код -
function createOrUpdateDeletedVideosTable(profileUid, response) {
const deletedVideosRef = database.ref(config.ENTITY_NAME_DELETED_VIDEOS);
return deletedVideosRef.once("value").then(deletedVideosSnapshot => {
var snapshotValue = JSON.stringify(deletedVideosSnapshot);
console.log("snapshot value is null - " + snapshotValue !== "null")
console.log("snapshot value is null - " + snapshotValue !== null)
if (snapshotValue !== "null") {
console.log("deleted videos ref exists - " + JSON.stringify(deletedVideosSnapshot));
var deletedVideosVar = deletedVideosSnapshot.val();
console.log(JSON.stringify(deletedVideosVar))
deletedVideosVar["totalVideosDeleted"] = deletedVideosVar.totalVideosDeleted += 1
deletedVideosVar.userUIDs.push(profileUid);
deletedVideosRef.set(deletedVideosVar);
return response.status(200).send('{"result": "OK"}');
}
console.log("deleted videos ref does not exist")
return createDeletedVideosTable(profileUid, response);
}).catch(err => {
console.log(err);
return response.status(500).send(`deleted video counter error - ${err}`);
});
}
function createDeletedVideosTable(profileId, response) {
var deletedVideosVar = {
totalVideosDeleted : 1,
userUIDs : {
profileId
}
};
// deletedVideosVar.totalVideosDeleted = 1
// deletedVideosVar.userUIDs.push(profileId);
database.ref(config.ENTITY_NAME_DELETED_VIDEOS).set(deletedVideosVar);
return response.status(200).send('{"result": "OK"}');
}