MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да групирате по документи по седмица в mongodb

Можете да постигнете това, като използвате агрегатната операция. Има $седмица операция за агрегиране в mongodb.

Първо определете началната дата, като използвате езика за програмиране, който използвате.

При следваща конвейерна операция, преброяване на броя документи, съответстващи на седмица. Можете да го направите във всяко поле/тип агрегиране, от което се нуждаете.

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

За горните два документа, които посочихте, резултатът ще бъде

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

_id по-горе пише 48-ма седмица и има два документа.

Преминете през връзката $седмица за да знаете как mongodb брои номерата на седмиците.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDb:Разлика между $push/$addtoset

  2. MongoDB в PHP, използващ агрегат за групиране по _id е null не работи

  3. MongoEngine - Изтритото поле все още предизвиква ValidationError

  4. Изтеглете запис от масив чрез Meteor

  5. Двигателят за откриване и наблюдение на сървъри е отхвърлен