Удалить несколько дочерних элементов внутри ключа, используя Firebase и React Native - PullRequest
0 голосов
/ 05 декабря 2018

Приведенный ниже код работает должным образом при удалении только одного дочернего элемента, однако мне нужно удалить несколько дочерних элементов, в моем случае 6. См. Прикрепленный снимок экрана.Как мне добавить всех 6 детей в функцию удаления?

deleteActivity= () => {
    const { currentUser } = firebase.auth();
    firebase
      .database()
      .ref(`/users/${currentUser.uid}/data/${this.state.dateForFirebase}`)
      .remove('ActivityStart1');      
  }

enter image description here

Ответы [ 2 ]

0 голосов
/ 05 декабря 2018

Привет, вы можете передать объект с ключами для удаления seted to null через атомарное обновление.

попробуйте это и дайте мне знать, если оно работает

deleteActivity= () => {
    const { currentUser } = firebase.auth();
    const ref = firebase.database().ref(`/users/${currentUser.uid}/data/${this.state.dateForFirebase}`)
    var atomicUpdate = {};
    atomicUpdate["ActivityAvgHR1/"] = null;
    atomicUpdate["ActivityCalories/"] = null;
    atomicUpdate["ActivityDurationHrs1/"] = null;
    atomicUpdate["ActivityDurationMns1/"] = null;
    atomicUpdate["ActivityMaxHR1/"] = null;
    atomicUpdate["ActivityStart1/"] = null;

    ref.update(atomicUpdate)

  }
0 голосов
/ 05 декабря 2018

Из документации firebase :

Удалить данные Самый простой способ удалить данные - вызвать метод remove () для ссылки на местоположение этих данных.

Вы также можете удалить, указав значение null в качестве значения для другой операции записи, такой как set () или update ().Вы можете использовать эту технику с update () для удаления нескольких дочерних элементов в одном вызове API.

Проверьте этот вопрос и обновите пути с нулевыми значениями.

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