У меня был соблазн не написать решающий ответ на этот вопрос, но после возвращения к вопросу я склоняюсь к тому, что не масштабируется.Конечно, вы можете утверждать, что Firebase может идти в ногу с этим и воздавать должное Firebase, если это возможно, но цифры кажутся слишком большими, чтобы игнорировать то, что это, вероятно, не лучшее использование ресурсов.
Давайте рассмотрим этот пример:
Если бы я хранил каждый лайк для каждого поста в каждом экземпляре этого поста, я мог бы легко получить 500 записей только для одного сообщения без проверки друзей.Если я проверяю друг друга каждого из них, и каждый из 500 существует, потому что они являются уникальными пользователями, то это 500 уникальных проверок друзей.
Если у меня 500 подписчиков, и мне нравится 20 вещей за один день,это 10000 раз, я проверяю, не является ли кто-то моим другом, и 10000 раз я пишу в БД просто так.Я надеюсь, что вы ожидаете более 20 друзей.
Я думаю, что альтернатива, если вы строите с учетом масштаба, может ли данные быть сохранены таким образом, чтобы разрешать вызовы, которые выполняются во время выполнениявместо того, чтобы хранить все эти данные?
Или, возможно, вначале начать с меньшего размера, можете ли вы сохранить локально список всех пользователей, с которыми я дружу, а затем вытащить список всех пользователей, которым понравилсяpost?
Для чего это стоит, если ваш пример верен для реального применения кода, я думаю, что это очень нетипичная ситуация, и многие пользователи увидят 0 или несколько «лайков» длякаждый пост.В некотором роде возникает вопрос, стоит ли сок выжать.