MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

mongoose Date comparant sans heure et Grouper par createdAt et staffId avec Total hebdomadaire, mensuel et annuel du nombre d'employés par agrégation ?

Vous pouvez essayer,

  • Regrouper par semaine
db.collection.aggregate([
  {
    $group: {
      _id: {
        year: { $year: "$createdAt" },
        week: { $week: "$createdAt" }
      },
      createdAt: { $first: "$createdAt" },
      count: { $sum: 1 }
    }
  }
])

Aire de jeux

  • Regrouper par mois
db.collection.aggregate([
  {
    $group: {
      _id: {
        year: { $year: "$createdAt" },
        month: { $month: "$createdAt" }
      },
      createdAt: { $first: "$createdAt" },
      count: { $sum: 1 }
    }
  }
])

Aire de jeux

  • Regrouper par année
db.collection.aggregate([
  {
    $group: {
      _id: { $year: "$createdAt" },
      createdAt: { $first: "$createdAt" },
      count: { $sum: 1 }
    }
  }
])

Aire de jeux