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

Struktura agregacji MongoDB — jak dopasować według zakresu dat, pogrupować według dni i średniej zwrotu dla każdego dnia?

Wydaje się, że problem dotyczy _id używasz dla $group. Grupuj według $day zamiast null , jeśli chcesz pogrupować wyniki według dnia. Spróbuj tego:

PriceHourly.aggregate([
    { $match: { date: { $gt: start, $lt: end } } },
    { $group: { _id: "$day", price: { $avg: '$price' } } }
], function(err, results){
    console.log(results); 
});

To powiedziawszy, nie musisz przechowywać dnia i godziny jako oddzielnych elementów w dokumencie. To nadmiarowe dane. Możesz wyodrębnić day i hour od date pole w zapytaniu agregującym przy użyciu Date Aggregation operatorów.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Przewracanie się w Mongo DB i problem z Id

  2. Jak uzyskać wiele obiektów JSON przy użyciu nodejs i mangusty?

  3. Radzenie sobie ze sposobem, w jaki MongoDB przechowuje DateTime, gdy jest używany ze wzorcem lokalizatora usług

  4. MongoDB - Dlaczego powinienem używać kursora zamiast iterator_to_array (w PHP)

  5. Jak wysyłać zapytania z Mongoose pre hook w aplikacji Node.js / Express?