sql >> Databáze >  >> NoSQL >> MongoDB

Jak seskupit dokumenty podle týdne v mongodb

Toho lze dosáhnout pomocí agregační operace. Existuje $týden agregační operace v mongodb.

Nejprve určete počáteční datum pomocí jakéhokoli programovacího jazyka, který používáte.

V následující operaci potrubí, počítání počtu dokumentů odpovídajících týdnu. Můžete to udělat v jakémkoli poli/typu agregace, který potřebujete.

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

Pro výše uvedené dva dokumenty, které jste zadali, bude výsledek

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

_id výše říká, 48. týden, a existují dva dokumenty.

Projděte si odkaz $týden abyste věděli, jak mongodb počítá čísla týdnů.




  1. Jak se dotazovat na všechny vnořené dokumenty

  2. jak stáhnout soubor uložený v gridFS pomocí nodeJS

  3. Úvod do Redis

  4. Aktualizujte pole pomocí MongoDB