Сортировка коллекции на основе подколлекции - PullRequest
0 голосов
/ 17 января 2019

Я настраиваю хранилище файлов на firebase.

Допустим, у меня есть коллекция названных стран с названиями стран, в ней есть еще одна коллекция с названиями штатов, а затем городов, поэтому, если я спрашиваю, где вы живете, человек может сказать США, а какой документ? AI897DJdjusKD8. Исходя из этого я могу сделать

db.collection ( "города"). Документ ( "AI897DJdjusKD8"). Коллекция ( "состояния"). Получить

и человек может выбрать из него Техас, который является документом DJDffjdi983uyeF, и из него у нас есть

db.collection ("sites"). Doc ("AI897DJdjusKD8"). Collection ("states"). Doc ("DJDffjdi983uyeF"). Colection ("city"). Get

и из него человек может выбрать город, например, Хьюстон, который является doc 5jsi73Fu3TG. После ввода адреса я делаю другую коллекцию под названием адрес с названием улицы, номером здания, идентификатором города, указанным ранее, и идентификатором пользователя.

Вопрос: Есть ли способ, которым я могу вернуться назад по цепочке, чтобы показать информацию на дисплее. Зная идентификатор пользователя, я знаю адреса, ведущие меня в город, что дает мне штат и так далее? Так что я могу отобразить:

Имя:

Фамилия:

Адрес:

Город:

Состояние:

1 Ответ

0 голосов
/ 18 января 2019

Есть ли способ, которым я могу вернуться назад по цепочке, чтобы показать информацию на дисплее. Зная идентификатор пользователя, я знаю адреса, ведущие меня в город, что дает мне штат и так далее?

Нет, вы не можете! Запросы в Cloud Firestore мелкие, они получают только документы из коллекции, с которой выполняется запрос. Невозможно получить документы из коллекции верхнего уровня и других коллекций или вложенных коллекций в одном запросе. Firestore не поддерживает запросы к различным коллекциям за один раз. Один запрос может использовать только свойства документов в одной коллекции.

Помимо существующих свойств, наиболее простым решением, которое я могу придумать, было бы добавление City и State в качестве дополнительных свойств документа.

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