Например, если документ в штучной упаковке в разделе «Запросы» существует, тогда мне нужен идентификатор документа в штучной упаковке из коллекции «книг».
Нет способа, которым вы можете сделать это за один go.
Я не мог понять, как go в обратном направлении, чтобы получить идентификатор родительского документа.
Там не собирается вернуться в Firestore, как вы, вероятно, думали. В базе данных Firebase Realtime у нас есть метод с именем getParent()
, который делает именно то, что вы хотите, но в Firestore мы этого не делаем.
Запросы в Firestore являются поверхностными, то есть он получает только элементы из коллекции, которые запрос выполняется Firestore не поддерживает запросы к различным коллекциям в одном go. Один запрос может использовать только свойства документов в одной коллекции. Таким образом, решение вашей проблемы - выполнить два get()
вызова. Первый - проверить этот документ на наличие в подколлекции enquiries
и, если он существует, просто создать еще один вызов get()
, чтобы получить документ из коллекции books
.