Как проверить, существует ли ключ, без извлечения родительского узла? [База данных / База данных]

1

Я хочу проверить, существует ли ключ в базе данных Realtime. Я знаю, что я могу восстановить родительский .hasChild('theKey') а затем использовать .hasChild('theKey') чтобы проверить его, но родительский узел может быть массивным и загрузить все это может быть дорого.

Я также знаю, что я могу только запрашивать ключ из БД реального времени, и если он не существует, он выдает ошибку. Но этот метод не очень хорош для меня либо потому, что я не знаю, как убедиться, что возникшая ошибка связана с тем, что ключ не существует, а не, например, сетевая проблема или что-то еще.

И, кстати, я использую node.js в Firebase Functions для доступа к БД.

Теги:
firebase
nosql
firebase-realtime-database

1 ответ

3
Лучший ответ

Вы можете использовать неглубокий параметр для проверки наличия ключа. Если данные существуют, он вернет либо значение (для примитивов), либо "true" (для объектов), а если оно не существует, оно вернет null.

Подробнее: https://firebase.google.com/docs/database/rest/retrieve-data#shallow

  • 1
    Спасибо, но как я могу использовать его в Firebase Functions?
  • 0
    Вы можете запросить его, выполнив запрос GET из скрипта облачных функций. Я рекомендую использовать запрос или библиотеку http для выполнения запросов http (s) с узла.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню