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

Aggregering pr. år og måned i MongoDB

  • initialiser anmodningsparametre
var year = req.year;
var month = req.month;
  • indstil standardårsbetingelse
var condition = [{
  $eq: [{ $substr: ["$$this.k", 0, 4] }, String(year)]
}];
  • tjek om måneden er tilgængelig og ikke alle, og tilføj derefter betingelse
if (month && month != "all") {
  condition.push({
    $eq: [{ $substr: ["$$this.k", 5, 2] }, String(month)] 
  });
}
  • $filter at gentage kodesløjfe og filter over forberedte betingelser
db.collection.aggregate([
  {
    $set: {
      code: {
        $filter: {
          input: "$code",
          cond: { $and: condition }
        }
      }
    }
  }
])

Legeplads




  1. Parallel udførelse med StackExchange.Redis?

  2. Overvågning af MongoDB-forekomster ved hjælp af MongoDB Monitoring Service (MMS)

  3. Hvorfor kan Travis ikke oprette forbindelse, brug Redis cache_store, når den implementeres til Heroku?

  4. Gruppeopstilling efter afslapning og match