Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

88
Views
Especificar qué registros se devuelven de la base de datos dependiendo de cierto campo con Sequelize y MySQL

Estoy tratando de obtener los últimos registros en una base de datos. Tengo un campo con su categoría. Estoy tratando de obtener 20 registros, 5 de la última publicación en cada categoría. Lo que quiero decir es que debería devolver los 20 últimos registros, pero 5 de cada categoría, ya que los últimos 20 no significan necesariamente un balance de 5 de cada categoría. Básicamente, lo que tengo a continuación, pero siento que hay una mejor manera y no pude verlo al leer los documentos de Sequelize. Gracias chicos, realmente lo aprecio! Perdón por el pseudocódigo. Tengo 4 categorías. y en realidad también estoy ordenando por el campo de marca de tiempo createdAt con límites y atributos y otras comprobaciones/manejo de errores que no he incluido en aras de la legibilidad.

 Posts.findAll({ where: { category: "Tech"}}) .then(techPosts => { Posts.findAll({where:{category: "Science"},}) .then(sciencePosts => { //actually 2 more nested findAlls before sending const posts = [...techPosts, ...sciencePosts] res.status(200).json(posts).end(); }) })
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Sugeriría obtener 5 categorías diferentes al mismo tiempo usando "Promise.all". El código se vería así:

 const fetchTechPosts = () => { return Posts.findAll({ where: { category: "Tech"}}) } const fetchSciencePosts = () => { return Posts.findAll({ where: { category: "Science"}}) } const promises = Promise.all([fetchTech, fetchScience]) promises.then(posts => { res.status(200).json(posts).end() })
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!