Как обновить одно значение ключа у каждого ребенка из firebase? - PullRequest
0 голосов
/ 22 ноября 2018

Я просто застрял в этом с последних нескольких часов, и я попробовал все возможное, чтобы обновить эти значения в firebase.

Here is the value to be updated

Iхотите обновить

is_read_p: "0"

до

is_read_p: "1"

для каждой записи в базе данных.

Пока я пробовал этот код,

[[[[_mainRef child:@"messages"] child:[NSString stringWithFormat:@"359_361"]]childByAutoId] updateChildValues:@{@"is_read_c":@"0"}];

Но вместо обновления он добавляет еще трех дочерних элементов, таких как:

Inserted instead of Updating

Я знаю, что должна быть глупая ошибка, или я мог что-то упустить.Пожалуйста, помогите мне найти эту недостающую часть.Благодарю.:)

1 Ответ

0 голосов
/ 23 ноября 2018
  • Каждый раз, когда вы вызываете childByAutoId, клиент создает ссылку на новый уникальный дочерний узел.Поскольку вы затем вызываете updateChildValues в этом новом местоположении, вы создаете новый дочерний узел вместо обновления существующего.

  • Firebase не поддерживает запросы на обновление.Вам нужно будет выполнить запрос, обработать каждый соответствующий узел и обновить их по отдельности.

    См. Также:

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