sql >> Database >  >> NoSQL >> MongoDB

Hoe aggregeren op datum wanneer een volledige tijdstempel wordt gegeven in het aggregatiekader?

U kunt dit doen door de volgende aggregatie-operators te gebruiken:

  • $groep
  • $jaar
  • $maand
  • $dayOfMonth

Dit geeft je het aantal fouten voor elke datum:

db.errors.aggregate(
    { $group : {
        _id: {
            year : { $year : "$date" },        
            month : { $month : "$date" },        
            day : { $dayOfMonth : "$date" },
        },
        count: { $sum: 1 }
    }}
);

In dit voorbeeld wordt ervan uitgegaan dat het datumveld in uw foutdocumenten date . is en van het type BSON Datum. Er is ook een Timestamp-type in MongoDB, maar het gebruik van dit type wordt uitdrukkelijk afgeraden door de documentatie:

Opmerking:het type BSON Timestamp is voor intern MongoDB-gebruik. In de meeste gevallen zult u bij applicatieontwikkeling het BSON-datumtype willen gebruiken. Zie Datum voor meer informatie.



  1. Hoe de prestaties van MongoDB te optimaliseren?

  2. Procedure:HBase-applicaties testen met populaire tools

  3. Hoe de prestaties van ClusterControl en zijn componenten te optimaliseren

  4. MongoDB wat zijn de standaardgebruiker en het standaardwachtwoord?