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")?