MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jak grupować według dokumentów według tygodnia w mongodb

Możesz to osiągnąć za pomocą operacji agregacji. Jest $tydzień operacja agregacji w mongodb.

Najpierw określ datę początkową, używając dowolnego używanego języka programowania.

W kolejnej operacji potoku zliczanie pasujących dokumentów w tygodniu. Możesz to zrobić w dowolnym polu/rodzaju agregacji, którego potrzebujesz.

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

W przypadku powyższych dwóch dokumentów, które określiłeś, wynikiem będzie

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

_id powyżej mówi, 48. tydzień i są dwa dokumenty.

Przejdź do linku $tydzień wiedzieć, jak mongodb liczy numery tygodni.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongoimport CSV z pymongo

  2. MongoDB $exp

  3. Tworzenie dynamicznego schematu za pomocą mangusty

  4. Znaleźć obiekt na podstawie elementu tablicy, zwrócić tylko pasujący element tablicy?

  5. MongoDB znajduje się we wszystkich właściwościach dokumentu