MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Mongoose Date Vergleich ohne Zeit und Group by createdAt und staffId mit wöchentlicher, monatlicher und jährlicher Gesamtzahl der Mitarbeiter durch Aggregation?

Sie können es versuchen,

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

Spielplatz

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

Spielplatz

  • Nach Jahr gruppieren
db.collection.aggregate([
  {
    $group: {
      _id: { $year: "$createdAt" },
      createdAt: { $first: "$createdAt" },
      count: { $sum: 1 }
    }
  }
])

Spielplatz