Схема отслеживания / отмены подписки с использованием Firestore может быть такой: 2 корневых коллекции, одна из которых содержит пользователей , а другая - следующая связь между пользователями через составной ключ.
users/{userID}
.. userData
.. followerCount
.. followedCount
following/{followerID_followedID}
.. followerId
.. followedId
.. createdAt
Когда пользователь A начинает следовать за пользователем B:
- установить новый документ с идентификатором userAuid_userBuid в после коллекция.
- запускает облачную функцию, которая запустит транзакцию для обновления счетчиков обоих пользователей.
Сделайте обратное, когда пользователь перестает следовать за другим пользователем.
В клиенте вы можете узнать, следует ли userA за userB, просто проверив, существует ли документ userAuid_userBuid в коллекции , следующей за .Вы также можете получить список подписчиков пользователя, запросив коллекцию, где followId == идентификатор текущего пользователя.
Надеюсь, что вам это поможет.