Google firebase проверяет, существует ли ребенок

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

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference(); if (rootRef.childExists("name")) { //run some code } 

Я искал, но не нашел ничего полезного.

2 Solutions collect form web for “Google firebase проверяет, существует ли ребенок”

Редактировать 2; стоит упомянуть : я думаю, стоит упомянуть, что на самом деле это загрузка всех данных в этот снимок, чтобы проверить, существуют ли какие-либо данные. Вы должны помнить здесь. Если ссылка огромна (например, на самом деле корневая ссылка, а не конкретное дочернее / свойство), то вы должны либо найти более глубокий узел, который вы можете использовать для проверки существования, либо для разработки структуры данных по-разному, чтобы была эффективная проверка.

Ссылка на базу данных фактически является URL-адресом для этих данных. Вы хотите получить данные, чтобы узнать, существует ли ребенок. Вот почему метод, который вы, похоже, ищете, – это DataSnapshot .

 DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference(); rootRef.addListenerForSingleValueEvent(new ValueEventListener() { @Override void onDataChange(DataSnapshot snapshot) { if (snapshot.hasChild("name")) { // run some code } } }); 

Теперь этот дизайн выглядит немного странным. Вы читаете всю базу данных, чтобы узнать, существует ли «имя». Вы можете сделать это немного более эффективным, слушая rootRef.child("name") а затем просто проверяя, является ли snapshot.exists() .

Если вы пытаетесь сделать валидацию здесь и не контролируете stream, вам следует рассмотреть вопрос о том, чтобы этот код был rules.json в ваши rules.json .

edit : Я изначально использовал неправильное имя функции (childExists вместо hasChild)

Попробуйте использовать .childexists в сочетании с .equalTo("Your specific name")

  • Разделение на Java всегда приводит к нулю (0)?
  • Как выполнить итерацию файлов в каталоге в Java?
  • Как работает импорт Java?
  • Преобразование UTC в текущее время локали
  • Преобразование base64 в изображение в Java
  • Обнаружение Polygon Touch Google Map API V2
  • Android-java- Как отсортировать список объектов по определенному значению внутри объекта
  • Как подключить внешний IP-адрес от Java Android
  • Преобразование римских чисел в десятичные числа
  • Установить альфа / непрозрачность макета
  • IDEA: javac: исходный релиз 1.7 требует целевого релиза 1.7
  • Interesting Posts

    Воспроизведение изменения значения в JTextField

    Список синтаксиса объявлений блока

    Android и настройка альфа для (изображения) вида альфа

    Как мы можем сопоставить ^ nb ^ n с регулярным выражением Java?

    Я хочу получить Year, Month, Day и т. Д. Из Java Date для сравнения с григорианской датой календаря на Java. Это возможно?

    Анимация в панели уведомлений Пользовательский вид

    Как выполнить базовую проверку подлинности для FirefoxDriver, ChromeDriver и IEdriver в Selenium WebDriver?

    Удаление .aspx со страниц с использованием rewriteModule?

    Почему моя слабая ссылка не устранена сразу после того, как сильные исчезли?

    Единичное тестирование classа с помощью Java 8 Clock

    multimap в .NET.

    Аутентификация базы данных Spring Security 3 с Hibernate

    Загрузите YouTube через командную строку

    CMake находит Boost, но импортированные цели недоступны для версии Boost

    Три пальца проведите пальцем по экрану между окнами

    Давайте будем гением компьютера.