Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

415
Visualizações
Paginar consulta Mongoose / MongoDB: ordenar por dos campos a partir de un punto

Quiero ordenar una colección por el campo de rating y el campo _id , ambos descendentes { $sort: { rating:-1 }, { _id:-1 } } . Como estoy usando $limit , quiero poder hacer otra solicitud para obtener los siguientes objetos. Intenté hacerlo con un $match como este { rating: {$lte: lastRating}, _id : { $lt: lastID} } , donde lastRating y lastID son los valores anteriores del último elemento en la última matriz devuelta Pero eso no No devuelvo nada.

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Lo que estás describiendo se llama paginación .

Muchos otros (como este ) ya describen en profundidad cómo implementar este patrón. dejando esto aqui para los demas

Sin embargo, la razón por la que su consulta no devuelve ningún documento en la página siguiente es probablemente simple porque el desempate se implementó incorrectamente (supongo que está utilizando el _id como desempate).

Debería verse similar a esto:

 // page 1 collection .find({}) .sort({ rating: -1, _id: -1 }) .limit(limit) .toArray();
 // page n collection .find({ $and: [ { ...any actual query here }, // this is the pagination query { $or: [ { rating: { $lt: lastRating } }, { rating: lastRating, _id: { $lt: ObjectId(lastID) } ] ] }) .sort({ rating: -1, _id: -1 }) .limit(limit) .toArray();
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda