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

232
Views
Consulta con el operador $In y límite en la cantidad de datos cargados

Estoy ejecutando la siguiente consulta

 const query = { $and: [ { $or: [ { status: 'PROCESSED' }, { status: 'IN_PROGRESS' }, ], }, { content_id: { $in: contentIds }, }, ], };

para obtener todos los datos donde el content_id está en una lista dada. Me gustaría obtener los 5 elementos de datos más recientes para cada content_id .

Sé que puedo lograr esto ejecutando una consulta individual para cada ID de contenido, ordenando por content_date DESC y estableciendo un límite de 5. Me gustaría lograr todo esto en una consulta, en lugar de ejecutar consultas individuales para cada ID de contenido, es esto es posible?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

db.coll.aggregate([ //match query {$group:{_id:"$content_id",items:{$push:"$$ROOT"}}}, {$addFields:{items:{$slice:["$items", 5]}}}]) ])
  1. $match para verificar que la identificación del contenido esté en la lista dada
  2. Luego $group en cada ID de contenido, agregue el documento completo a la lista de items
  3. Luego slice la matriz con los elementos requeridos

Le sugiero que agregue una etapa de sort antes del project para garantizar la coherencia entre múltiples visitas.

over 4 years ago · Santiago Trujillo 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!