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

136
Visualizações
mongodb: obtenga los primeros resultados X y el recuento general de la función agregada

Tengo una consulta agregada que estoy usando para obtener los 10 primeros resultados de una búsqueda entre 2 colecciones. Solo obtengo los primeros 10, porque si no uso límite y obtengo 50 resultados, la consulta se vuelve lenta (4-5 segundos) (cualquier sugerencia sobre eso también será excelente)

Entonces, debido a que estoy haciendo algún tipo de escaneo, necesito informarle al cliente la cantidad de resultados totales, para que pueda consultar más cuando sea necesario. actualmente estoy ejecutando el cursor dos veces y estoy seguro de que no es lo ideal.

 const grades = database.collection('grades'); const match = { userId }; const aggregationPipeline = [ { $match: match}, { $addFields: { userIdObj: { $toObjectId: '$userId' } } }, { $lookup: { from: 'users', localField: 'userIdObj', foreignField: '_id', as: 'userDetails', }, }, ]; const aggCursor = grades.aggregate(aggregationPipeline); const aggCursorCount = grades.aggregate([...aggregationPipeline, { $count: 'count', }]); const count = await aggCursorCount.toArray(); const allValues = await aggCursor.limit(10).toArray(); res.json({grades: allValues, count: count[0].count});

Estoy seguro de que hay una manera más eficiente de obtener lo que necesito. Todavía estoy aprendiendo todas las cosas de mongodb.

¡Gracias!

about 4 years ago · Juan Pablo Isaza
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