Как правильно использовать queryEqual (toValue: childKey :) в Firebase SDK для iOS?

Я новичок в NoSQL и Firebase. У меня есть такая база данных для "писателей" пути.

Как правильно использовать queryEqual (toValue: childKey :) в Firebase SDK для iOS?

Я попытался найти любого пользователя с адресом электронной почты [email protected], используя этот код:

ref.child("writers").queryEqual(toValue: "[email protected]", childKey: "email").observeSingleEvent(of: .value, with: { snap in
    print (String(describing: snap.value));
}

Но все, что у меня есть, это Optional(<null>) на консоли. Что не так с моим кодом? Я думал, что это довольно просто, но я не могу заставить его работать, несмотря на любое исправление, которое я пробовал.

Я могу успешно получить все данные писателей, если использую код:

ref.child("writers").observeSingleEvent(of: .value, with: { (snap) in
    print (String(describing: snap.value));
}

Возможный дубликат Firebase Swift: queryEqualToValue от childKey не работает

André Kool 26.06.2018 11:24

Не используйте массивы в Firebase. Во-вторых, у вас есть 4 цифровых клавиши, а затем несвязанная строка ключей. Не знаю почему, но похоже, что вы создаете ключи непоследовательно. Не забудьте добавить .orderBy.

Jay 26.06.2018 14:13
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
4
2
949
1

Ответы 1

Правильный синтаксис:

ref.child("writers").queryOrdered(byChild: "email").queryEqual(toValue: "[email protected]").observeSingleEvent(of: .value, with: { snap in
  ...

Перегрузка, которую вы использовали, предназначена для другого (и гораздо менее распространенного) варианта использования.

Также ознакомьтесь с некоторыми другими вопросами о запросах Firebase в Swift:

Другие вопросы по теме