La pagination basée sur la plage est faisable, mais vous devez être intelligent sur la façon dont vous miner/maxer la requête.
Si vous pouvez vous le permettre, vous devriez essayer de mettre en cache les résultats d'une requête dans un fichier ou une collection temporaire. Grâce aux collections TTL de MongoDB, vous pouvez insérer vos résultats dans deux collections.
- Recherche+Utilisateur+Paramètres Requête (TTL quelconque)
- Résultats de la requête (TTL quelconque + intervalle de nettoyage + 1)
L'utilisation des deux assure que vous n'obtiendrez pas de résultats partiels lorsque le TTL est proche de l'heure actuelle. Vous pouvez utiliser un simple compteur lorsque vous stockez les résultats pour effectuer une requête de plage TRÈS simple à ce moment-là.