Verkettete Karte / Verkleinern in couchDB

In couchDB habe ich eine Reihe von Elementen wie die folgenden (zum Beispiel vereinfacht):

{_id: 1, date: "Jul 1", user: "user1"}
{_id: 2, date: "Jul 2", user: "user1"}
{_id: 3, date: "Jul 3", user: "user2"}
...etc...

Ich möchte eine nach Datum sortierte Liste der "neuesten Aktivitäten" ohne doppelte Benutzer-IDs erhalten. Ich kann eine Ansicht mit folgenden Ergebnissen erstellen:

{key: "July 3", _id: 3, user: "user2"}
{key: "July 2", _id: 2, user: "user1"}
{key: "July 1", _id: 1, user: "user1"}

Dies enthält jedoch doppelte Einträge für denselben Benutzer. Oder ich kann eine Ansicht erstellen, die {key: user, value: date} zuordnet und auf reduziert

{key: "user1", mostRecentDate: "July 2"}
{key: "user2", mostRecentDate: "July 3"}

das ist aber nicht nach "aktuell" sortiert.

Ich weiß, dass die offensichtliche Lösung - das Reduzieren der Ergebnisse einer anderen Ansicht - nicht unterstützt wird.BigCouch unterstützt verkettete Maps / Reduces, scheint aber veraltet zu sein / wird nicht unterstützt (letzte Version 2012).

Dies scheint ein eher verbreitetes Problem zu sein. Welche Lösungen gibt es (jenseits von "Datenbank wechseln")?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage