Предполагая, что b_ookk_node
в вашем коде соответствует вычеркнутому узлу на вашем JSON снимке экрана, этот код выглядит нормально. Но для этого потребуется определить индекс для каждого номера мобильного телефона, поскольку индекс можно определить только для свойства, имя которого вы указали. Поскольку я предполагаю, что телефонные номера являются данными, введенными пользователем, определение индекса для каждого из них невозможно
Короче говоря: ваша текущая структура данных позволяет вам легко искать номер мобильного телефона пу sh ID, но не pu sh ID для номера мобильного телефона. Чтобы разрешить последнее, вам нужно настроить дополнительную структуру данных, которая выглядит следующим образом:
"number_to_pushid_map": {
"096554885": {
"-LyON1kEn...sWpW": true
"-LyON1kEn...key2": true
}
}
В этой структуре вы можете найти идентификатор pu sh для числа, которое пользователь Введено.
См. также:
Помимо этого :
-
if (dataSnapshot.hasChildren()) {
в вашем коде не требуется. Если дочерних узлов нет, то dataSnapshot.getChildren()
уже вернет пустой итератор, и l oop никогда не будет введено. - Рассмотрим , используя транзакцию для обновления bid, так как сейчас два пользователя, обновляющие ставку примерно в одно и то же время, могут перезаписать результаты друг друга.
- Рассмотрите возможность сохранения значения
tBid
в виде числа, а не строки, так что вы не сможете нужно постоянно конвертировать его туда и обратно.