sql >> Database teknologi >  >> NoSQL >> MongoDB

mongoose Dato, der sammenlignes uden tid og gruppe efter oprettetAt og staffId med Ugentlig, månedlig og Årlig total af personaletæller ved aggregering?

Du kan prøve,

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

Legeplads

  • Gruppér efter måned
db.collection.aggregate([
  {
    $group: {
      _id: {
        year: { $year: "$createdAt" },
        month: { $month: "$createdAt" }
      },
      createdAt: { $first: "$createdAt" },
      count: { $sum: 1 }
    }
  }
])

Legeplads

  • Grupper efter år
db.collection.aggregate([
  {
    $group: {
      _id: { $year: "$createdAt" },
      createdAt: { $first: "$createdAt" },
      count: { $sum: 1 }
    }
  }
])

Legeplads




  1. Hvad er forskellen mellem COUNT_SCAN og IXSCAN?

  2. Mongoose udvide standard validering

  3. Hvordan gemmer man 1 million poster til mongodb asynkront?

  4. MongoDB:Forfærdeligt kortReducer ydeevne