У меня есть следующая структура контента в firestore (коллекция каналов и подколлекция подписчиков в каждом канале):
channels (is a collection):
- {channel id} (channel document id)
- name,
- description, ...
- followers (subcollection in every channel)
- {user id} (follower document id)
- state (user attribute) = 1 (is active),
Я пытаюсь запросить, чтобы получить все каналы одного подписчика. , что-то похожее на:
// dart
db.collection('channels').where('followers.$uid.state', isEqualTo: 1).snapshots();
Где $ uid является действительным идентификатором пользователя. Затем результат запроса должен возвращать все каналы, где пользователь является последователем. Я мог бы сделать это с массивом пользовательских идентификаторов в канале, но у меня будет большое количество подписчиков, и в массивах мне придется читать и записывать полный массив в каждой модификации, когда я добавляю или удаляю подписчиков.
Спасибо!