У меня проблема с созданием узла и сразу после этого его удаления. Проблема заключается в последовательности вызовов, потому что у меня также есть облачная функция (слушатель), которая записывает текущую дату в узле во время его создания. Итак, этапы выпуска выглядят так:
- Пользователь нажимает кнопку закладки на странице элемента, затем приложение собирается создать узел
- Узел создан, и облачный функционал (слушатель) называется
- Пользователь нажимает на закладку btn, чтобы очистить ее, а затем приложение собирается удалить узел
- Узел удален
- Cloud func записывает текущую дату в узле (заново воссоздает узел)
DB слушатель:
exports.BookmarkCreated = functions.database.ref(pathBookmark).onCreate(event => {
const userUid = event.params.userUid;
const bookmarkUid = event.params.bookmarkUid;
var p = [];
// set date created for bookmark
const date = new Date();
const dateCreated = date.getTime();
var p1 = admin.database().ref(ROOT_STUFF_BOOKMARKS +"/"+ userUid +"/"+ bookmarkUid).child("dateCreated").set(dateCreated);
p.push(p1);
// add bookmark to index
const bookmark = event.data.val();
var stuffKey = bookmark.stuffKey;
var p2 = admin.database().ref(INDEX_STUFF_BOOKMARKS +"/"+ stuffKey).child(userUid).set(bookmarkUid);
p.push(p2);
return Promise.all(p);
});