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

Как да агрегирате по дата, когато в рамката за агрегиране е дадено пълно клеймо за време?

Можете да направите това, като използвате следните оператори за агрегиране:

  • $group
  • $година
  • $month
  • $dayOfMonth

Това ви дава броя грешки за всяка дата:

db.errors.aggregate(
    { $group : {
        _id: {
            year : { $year : "$date" },        
            month : { $month : "$date" },        
            day : { $dayOfMonth : "$date" },
        },
        count: { $sum: 1 }
    }}
);

Този пример предполага, че полето за дата във вашите документи за грешка е date и от тип BSON Дата. В MongoDB има и тип Timestamp, но използването на този тип е изрично обезкуражено от документацията:

Забележка:Типът BSON Timestamp е за вътрешна употреба в MongoDB. В повечето случаи при разработването на приложения ще искате да използвате BSON тип дата. Вижте Дата за повече информация.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. 2 начина за замяна на подниз в MongoDB

  2. Как мога да създам индекс с pymongo

  3. Вземете последния вмъкнат идентификатор на документ в MongoDB с драйвер на Java

  4. Разлика между декорирането на свойство в C# с BsonRepresentation(BsonType.ObjectId) срещу BsonId срещу ObjectId

  5. Къде стои mongodb в теоремата на CAP?