ich eine CouchDB Datenbank mit Dokumenten der Form habe: {Name, Zeitstempel, Wert}CouchDB: Filter und Gruppe in einer einzigen Ansicht
Ich habe eine Ansicht, die eine Zusammenfassung von Namen mit der Summe der zusammengebauten zeigt Werte. Dies ist eine direkte Reduktionsfunktion.
Jetzt möchte ich die Ansicht filtern nur Dokumente berücksichtigen, wo der Zeitstempel in einem bestimmten Bereich aufgetreten ist.
AFAIK das bedeutet, ich muss den Zeitstempel in den ausgegebenen Schlüssel der Kartenfunktion, z. emit([doc.Timestamp, doc.Name], doc)
Aber sobald ich das mache, sieht die Reduce-Funktion nicht mehr die Zeilen gruppiert, um die Summe zu berechnen. Wenn ich den Namen zuerst anführe, kann ich nur auf Level 1 gruppieren, aber wie filtere ich auf Level 2?
Gibt es eine Möglichkeit, dies zu tun?
Ist das wahr? Ich kann es nicht zur Arbeit bringen. –
Könnte sein. Ich habe in meinem Beispiel einen Fehler behoben (Sie müssen ein Array ausgeben), das Ihnen helfen könnte. Es scheint jedoch, dass meine Beschreibung, wie die Ausgabe gruppiert wird, auch irreführend sein könnte, ich werde versuchen, sie als nächstes zu überarbeiten. – natevw