Как выполнить разбиение на страницы с помощью запросов диапазона в MongoDB?

Я, наверное, чего-то упускаю, так как все еще учусь выходы из MongoDB, но мне нужна помощь с разбиением на страницы коллекции.

У меня есть коллекция, в которой есть список имен.

Нижний раунд говядины
Куриная грудка 6 унций
Куриная грудка 8 унций
Куриная грудка 8 унций
Куриная грудка 8 унций
Случайная куриная грудка
Куриные ножки
Куриная вырезка
Куриные бедра
Кошерная соль

Я создал составной индекс для «ProductName, _id».

Я выполняю этот запрос:

db.ProductGuideItem.find( { ProductName: { $gt: "Chicken Breast 8oz" } } ).sort({ProductName:1,_id:1}).limit(3); 

Обратите внимание, есть 3 элемента «Куриная грудка 8 унций».

Если я выполню этот запрос, я получу ...
Случайные куриные грудки
Куриные ножки
Куриная вырезка

Если бы я листал и начинал сверху. Запрос пропустил бы другие 2 «Куриной грудки 8 унций».

Итак, если на каждой странице может быть только 3 элемента, и я хочу увидеть страницу 2, я должен увидеть ..
Куриная грудка 8 унций
Куриная грудка 8 унций
Куриная грудка в случайном порядке.

Но я не такая. Он идет до последней 8 унций куриной грудки и вместо этого начинается.

Есть ли способ обойти это?
Также, как бы я сделал это, если бы список был отсортирован противоположным образом?

19
задан Jacob 6 April 2016 в 14:28
поделиться