sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur man grupperar efter dokument efter vecka i mongodb

Du kan uppnå detta genom att använda den aggregerade operationen. Det är $vecka aggregeringsoperation i mongodb.

Bestäm först startdatumet med vilket programmeringsspråk du än använder.

I följande pipeline-operation, räkna antalet dokument som matchar en vecka. Du kan göra det på alla fält/typ av aggregering du behöver.

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

För de två ovanstående dokumenten du angav blir resultatet

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

_id ovan säger, 48:e veckan, och det finns två dokument.

Gå igenom länken $vecka att veta hur mongodb räknar veckonummer.




  1. Hur man definierar delimeter för att importera mongodb

  2. Mongoose returnerar alltid en tom array NodeJS

  3. Jedis, kan inte få jedis-anslutning:kan inte hämta resurs från poolen

  4. Mongo C#-drivrutin - Bygg filter dynamiskt med kapsling