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

Jak agregować według daty, gdy w ramach agregacji podany jest pełny znacznik czasu?

Możesz to zrobić za pomocą następujących operatorów agregacji:

  • $grupa
  • $rok
  • $miesiąc
  • $dayOfMonth

Daje to liczbę błędów dla każdej daty:

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

W tym przykładzie założono, że pole daty w błędnych dokumentach to date i typu BSON Data. Istnieje również typ Timestamp w MongoDB, ale użycie tego typu jest wyraźnie odradzane w dokumentacji:

Uwaga:typ BSON Timestamp jest przeznaczony do użytku wewnętrznego MongoDB. W większości przypadków podczas tworzenia aplikacji będziesz chciał użyć typu daty BSON. Zobacz Data, aby uzyskać więcej informacji.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak zsumować wartość klucza we wszystkich dokumentach w kolekcji MongoDB?

  2. Agregat Mongodb:przekonwertuj datę na inną strefę czasową

  3. Nie można połączyć się z mongoDB uruchomioną w kontenerze docker

  4. GridFS w Spring Data MongoDB

  5. Jak używać mongodb z elektronem?