Запросы в Firestore являются мелкими, что означает, что они получают только элементы из коллекции, для которой выполняется запрос. Невозможно получить документы из коллекции верхнего уровня и других коллекций или вложенных коллекций в одном запросе. Firestore не поддерживает запросы к различным коллекциям за один шаг. Таким образом, вы не можете получить элементы из коллекции, основанные на элементах, которые существуют в подколлекции. Один запрос может использовать только свойства документов в одной коллекции.
Короче говоря, я хочу получить список желаний конкретного пользователя.
Итак, самое простое решение, которое я могу придумать, - добавить под каждым объектом пользователя массив любимых автомобилей. Ваша новая структура базы данных должна выглядеть примерно так:
Firestore-root
|
--- users
|
--- uid
|
--- favoriteCars : ["carId", "carId"]
Таким образом, вы можете запросить вашу базу данных, чтобы получить только автомобили, которые пользователь отметил их как избранные. Вы также можете хранить вместо этих идентификаторов в массиве фактический объект автомобиля. Пожалуйста, смотрите здесь подробнее о плюсах и минусах.