#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
и разбиение на страницы, но разделенный список подписчиков в массиве требует большего процесса, когда список растет, обновление списка подписчиков в стратегии один более простое и быстрое, чем обновление в массиве