Basierend auf einer tollen Antwort auf meine previous question, habe ich ein Problem mit CouchDB teilweise gelöst.CouchDB Aufrufe: Duplikate entfernen * und * nach Uhrzeit sortieren
Dies ergab a new view.
Nun, das nächste, was ich tun muss, ist das Entfernen von Duplikaten aus dieser Ansicht während nach Datum sortiert.
Zum Beispiel, hier ist, wie ich diese Ansicht abfragen könnte:
GET http://scoates-test.couchone.com/follow/_design/asset/_view/by_userid_following?endkey=[%22c988a29740241c7d20fc7974be05ec54%22]&startkey=[%22c988a29740241c7d20fc7974be05ec54%22,{}]&descending=true&limit=3
Resultierende in dieser:
HTTP 200 http://scoates-test.couchone.com/follow/_design/asset/_view/by_userid_following
http://scoates-test.couchone.com > $_.json.rows
[ { id: 'c988a29740241c7d20fc7974be067295'
, key:
[ 'c988a29740241c7d20fc7974be05ec54'
, '2010-11-26T17:00:00.000Z'
, 'clementine'
]
, value:
{ _id: 'c988a29740241c7d20fc7974be062ee8'
, owner: 'c988a29740241c7d20fc7974be05f67d'
}
}
, { id: 'c988a29740241c7d20fc7974be068278'
, key:
[ 'c988a29740241c7d20fc7974be05ec54'
, '2010-11-26T15:00:00.000Z'
, 'durian'
]
, value:
{ _id: 'c988a29740241c7d20fc7974be065115'
, owner: 'c988a29740241c7d20fc7974be060bb4'
}
}
, { id: 'c988a29740241c7d20fc7974be068026'
, key:
[ 'c988a29740241c7d20fc7974be05ec54'
, '2010-11-26T14:00:00.000Z'
, 'clementine'
]
, value:
{ _id: 'c988a29740241c7d20fc7974be063b6d'
, owner: 'c988a29740241c7d20fc7974be05ff71'
}
}
]
Wie Sie sehen können, "Clementine" zeigt zweimal auf.
Wenn ich die Ansicht ändere, um den Namen der Frucht/Anlage als zweiten Schlüssel (anstelle der Zeit) auszugeben, kann ich die Gruppierungstiefe ändern, um diese zusammenzufallen, aber das löst meine Anforderung nach Zeit nicht . In ähnlicher Weise kann ich mit der obigen Einstellung nach Zeit sortieren, aber ich kann doppelte Asset-Namen nicht in einzelne Zeilen zusammenfassen (um beispielsweise 10 Assets pro Seite zuzulassen).
Leider ist dies keine einfache Frage zu erklären. Vielleicht wird this chat transcript ein wenig helfen.
Bitte helfen. Ich fürchte, dass das, was ich tun muss, immer noch nicht möglich ist.
S
Hallo. Ich habe versucht, reduzieren, und ich glaube nicht, dass es mein Problem gelöst: http: // scoates-test.couchone.com/_utils/database.html?follow/_design/asset/_view/by_userid_following_reduce (trotz der Reduzierung, bekomme ich immer noch "Banane" zweimal für "c988a29740241c7d20fc7974be060bb4"). Habe ich es falsch implementiert? – scoates
Sorry, mein erstes Beispiel ist falsch. Es funktioniert nur für doppelte Werte. Für Schlüssel müssen Sie Listen verwenden. Ich habe das Beispiel geändert. Hoffe es löst dein Problem. – Nek
Oh wow. Ich hatte keine Ahnung, dass diese _list-Funktionen überhaupt existierten. Ich werde es versuchen und zurückkommen und akzeptieren, wenn es meinen Bedürfnissen entspricht (aber es sieht an diesem Punkt so aus). Vielen Dank! – scoates