Нажав на список пользователя заменить старый элемент - PullRequest
0 голосов
/ 05 апреля 2020

Я новичок в мире FireBase и пытаюсь выполнить простую задачу в базе данных реального времени, и почему-то мне не удается заставить ее работать. Я хочу такую ​​структуру:

"users": {
   "UID_1": {
      "username": "FooBar",
      "email": "foo.bar@mail.com",
      "tasks": {
         "KEY_1": {
            "name": "task1",
            "state": false
         },
         "KEY_2": {
            "name": "task2",
            "state": false
         },
      },
   }
}

Я использую javascript на стороне клиента для pu sh новое задание для указанного пользователя, прошедшего проверку подлинности c, вот код:

firebase.database().ref("users/" + userId + "/tasks").push({
   name: taskName,
   state: state
});

Каждый раз, когда я это делаю, старая задача удаляется, а новая добавляется в список «задач».

Я также пытался с обновлением, но это не так работа.

var taskListRef = dbRef.ref("users/" + userId + "/tasks");
var newTaskKey = taskListRef.push().key;
var newTaskRef = dbRef.ref("users/" + userId + "/tasks/" + newTaskKey);
newTaskRef .update({
    name: taskName,
    state: state
});

Вот изображение, показывающее замену старого элемента на консоли Firebase:

enter image description here

Не хватает ли мне некоторых действительно очевидный элемент здесь?

Ответы [ 2 ]

0 голосов
/ 05 апреля 2020

Мне удалось найти ответ, правда в том, что я настраивал информацию пользователя для подключения вместо обновления ... Так что список задач удалялся каждый раз!

0 голосов
/ 05 апреля 2020

Я думаю, что вам не хватает '/' в конце строки '/ tasks'. Должно быть '/ tasks /', тогда pu sh должно работать. Для метода обновления вам нужно изменить строку задач, как указано выше, а также поставить '/' после newTaskKey.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...