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

Sådan grupperes efter dokumenter efter uge i mongodb

Du kan opnå dette ved at bruge den samlede operation. Der er $uge aggregeringsoperation i mongodb.

Bestem først startdatoen ved hjælp af det programmeringssprog, du bruger.

I den efterfølgende pipeline-operation tælles antallet af dokumenter, der matcher en uge. Du kan gøre det på ethvert felt/type aggregering, du har brug for.

pipeline = [
    {
        $match: {
            timeStamp: {$gt: ISODate(startDate)},
        }
    },
    {
        $group: {
            _id: {$week: '$timeStamp'},
            documentCount: {$sum: 1}
        }
    }
];
db.mycollection.aggregate(pipeline)

For de to ovenstående dokumenter, du har angivet, vil resultatet være

{ "_id" : 48, "documentCount" : 2 }

_id ovenfor siger, 48. uge, og der er to dokumenter.

Gå gennem linket $uge at vide, hvordan mongodb tæller ugenumrene.




  1. Montering af Page Blob som en VHD i en batch-fil

  2. Sådan lukkes markøren i MongoKit

  3. Mongo Operations bliver udsultet

  4. mongoose (mongodb) Alias ​​_id felt