MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

übersprungene Zählung 0 in Aggregatfunktion

Die Gruppenphase erstellt Dokumente basierend auf der Gruppierung nach Ihrer angegebenen _id und zählt die Anzahl der Dokumente aus der vorherigen Phase, die in der Gruppe landen. Daher wäre eine Zählung von Null das Ergebnis einer Erstellung eines Dokuments aus 0 Eingabedokumenten, die zu der Gruppe gehören. Wenn Sie so darüber nachdenken, ist klar, dass die Aggregationspipeline dies auf keinen Fall für Sie erledigen kann. Es weiß nicht, was all die "fehlenden" Zeiträume sind, und es kann die entsprechenden Dokumente nicht aus dem Nichts erfinden. Ihr zusätzliches Wissen über die fehlenden Zeiträume erneut anzuwenden, um das Bild am Ende zu vervollständigen, scheint eine vernünftige Lösung (nicht "hacky") zu sein, wenn Sie für leere Zeiträume eine explizite Zählung von 0 benötigen.