Имейте код, в котором пользователи ранжируются по рейтингу.
const rankings = await Rating.aggregate([{"$group": {_id:"$receiver", value: {$sum: "$rate"}}}]).sort({reputation: "desc"});
Результат выглядит примерно так
[
{ _id: 'bob', value: 3 },
{ _id: 'joe', value: 2 },
{ _id: 'billy', value: 2 },
{ _id: 'joseph', value: 2 },
{ _id: 'kim', value: 1 },
{ _id: 'jane', value: 0 }, ....
]
Однако, поскольку это длинный список> 100, я пытаюсь создать страницу, на которой будет отображаться только 10 пользователей. Как мне выполнить sh это?
Я знаю, что могу использовать slice (index1, index2), но если я использую slice (), я боюсь, что время выполнения будет медленным, так как его получение каждый раз сначала данные из базы данных, а затем их разрезание.
Это то, о чем я должен беспокоиться? Если да, есть ли способ просто получить данные между индексом-1 и индексом-2 прямо из базы данных?
Спасибо