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

Групирайте по ден/месец/седмица въз основа на периода от време

За групиране на седмична база изпълнете следния конвейер, който използва главно Оператори за агрегиране на дати за извличане на частите от датата:

db.collection.aggregate([
    { 
        "$project": {
            "createdAtWeek": { "$week": "$createdAt" },
            "createdAtMonth": { "$month": "$createdAt" },
            "rating": 1
        }
    },
    {
         "$group": {
             "_id": "$createdAtWeek",
             "average": { "$avg": "$rating" },
             "month": { "$first": "$createdAtMonth" }
         }
    }
])

и за месечни агрегати, разменете $group ключ за използване на създаденото поле за месец:

db.collection.aggregate([
    { 
        "$project": {
            "createdAtWeek": { "$week": "$createdAt" },
            "createdAtMonth": { "$month": "$createdAt" },
            "rating": 1
        }
    },
    {
         "$group": {
             "_id": "$createdAtMonth",
             "average": { "$avg": "$rating" },
             "week": { "$first": "$createdAtWeek" }
         }
    }
])



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. АТОМНО актуализирайте множество документи И ги върнете

  2. Mongodb Заявка въз основа на броя на полетата в запис

  3. Кой SchemaType в Mongoose е най-добър за времеви печат?

  4. Актуализирайте множество документи по набор от идентификатори. Мангуста

  5. Spring Data Mongodb:Актуализиране на документи