Какая архитектура MongoDB лучше всего подходит для работы со списком друзей или подписчиков?

#mongodb #performance #mongodb-query

Вопрос:

Я разрабатываю социальные сети, и мне нужно создать список друзей и список подписчиков, но список подписчиков меня интересует производительность в запросах, тогда у меня на уме два варианта, но я точно не знаю, какой из них лучший:

 First strategy:
{
 id: "any_id",
 follower_id:"follower_id",
 user_id:"user_id"
}

Second strategy:

{
 id: "user_id",
 user_followers: [ { id:"follower_1" }, {id:"follower_2"} ]
}
 

Ответ №1:

первая стратегия лучше , например, по служебной причине ,

если follower_id и идентификатор пользователя хранятся в другой коллекции , получая список подписчиков , когда он растет, вы можете использовать skip limit и разбиение на страницы, но разделенный список подписчиков в массиве требует большего процесса, когда список растет, обновление списка подписчиков в стратегии один более простое и быстрое, чем обновление в массиве