Je vais prendre la liberté et créer un lien vers mes autres réponses :pagination étendue et pagination avec mongodb et node.js .
Réponse courte :n'utilisez pas skip/limit, sauf si vos ensembles de données sont petits (comme <1000 documents environ). Plus la page que vous récupérez est grande, moins elle sera performante. Utiliser des requêtes de plage (field: {$gt: value}
), ils sont beaucoup plus efficaces (s'ils sont indexés, bien sûr).
Et non, vous ne pouvez pas renvoyer le nombre total et une partie des données avec une seule requête.