¿Cómo hacer paginación usando consultas de rango en MongoDB?

Probablemente me estoy perdiendo algo ya que todavía estoy aprendiendo los entresijos de MongoDB, pero necesito ayuda para paginar una colección.

Tengo una colección que tiene una lista de nombres.

Bottom Round of Beef
Pechuga de Pollo 6oz
Pechuga de Pollo 8oz
Pechuga de Pollo 8oz
Pechuga de Pollo 8oz
Chicken Breast Random
Piernas de poll
Filete de pollo
Muslos de poll
Sal koshe

Creé un índice compuesto en "ProductName, _id".

Yo ejecuto esta consulta:

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

Observe que hay 3 artículos de "pechuga de pollo de 8 oz".

Si ejecuto esa consulta me sale ...
Chicken Breast Random
Piernas de poll
Filete de pollo

Si estaba buscando y empecé desde arriba. La consulta habría perdido los otros 2 "pechuga de pollo de 8 oz".

Así que si cada página solo puede tener 3 elementos y quiero ver la página 2, entonces debería ver ..
Pechuga de Pollo 8oz
Pechuga de Pollo 8oz
Chicken Breast Random.

Pero yo no. Irá a la última pechuga de pollo de 8 oz y comenzará desde allí.

¿Hay alguna forma de evitar esto
Además, ¿cómo haría esto si la lista se ordenara de la manera opuesta?

Respuestas a la pregunta(2)

Su respuesta a la pregunta