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

171
Views
Quiere obtener el recuento de elementos para cada fecha de un mes determinado en MongoDB

Tengo un esquema de tarea de la siguiente manera:

 const taskSchema = new mongoose.Schema({ uid: { type: String, default: "" }, status: { type: String, default: "" }, created_at: {type: Date} }

Quiero consultar todas las tareas, agrupándolas de tal manera que obtenga un objeto con el recuento de tareas con diferentes estados para todas las fechas de un mes determinado.

Ejemplo: suponiendo que estamos haciendo esto para el mes de junio,

 task = [ { uid: '1', status: 'completed', created_at: 29 - 06 - 2021, }, { uid: '2', status: 'pending', created_at: 27 - 06 - 2021, }, { uid: '3', status: 'missed', created_at: 24 - 06 - 2021, }, { uid: '4', status: 'completed', created_at: 13 - 06 - 2021, }, { uid: '5', status: 'pending', created_at: 24 - 06 - 2021, }, ]; res = [ { '13-06-2021': { pending: 0, missed: 1, completed: 0, }, }, { '29-06-2021': { pending: 0, missed: 0, completed: 1, }, }, { '27-06-2021': { pending: 1, missed: 0, completed: 0, }, }, { '24-06-2021': { pending: 1, missed: 1, completed: 0, }, }, ];

Conozco el grupo y cuento las funciones agregadas, pero no puedo descubrir cómo implementar eso.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

agregar

 db.collection.aggregate([ { "$group": { "_id": { "created_at": "$created_at" }, "pending": { $sum: { "$cond": [ { "$eq": [ "$status", "pending" ] }, 1, 0 ] } }, "missed": { $sum: { "$cond": [ { "$eq": [ "$status", "missed" ] }, 1, 0 ] } }, "completed": { $sum: { "$cond": [ { "$eq": [ "$status", "completed" ] }, 1, 0 ] } }, } } ])

parque infantil mongo

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!