Ich habe Dokumente mit den Feldern 'date' und 'group'. Und das ist meine Ansicht:Brauche einen CouchDB-Trick, um nach Datum zu sortieren und nach Gruppe zu filtern
byDateGroup: {
map: function(doc) {
if (doc.date && doc.group) {
emit([doc.date, doc.group], null);
}
}
}
Was die äquivalente Abfrage sein würde:
select * from docs where group in ("group1", "group2") order by date desc
Diese einfache Lösung kommt nicht in meinen Kopf. ? :(
+1 Dies scheint die beste Lösung zu sein. Grundsätzlich fragt Jangid nach einem Join und so sind mehrere Anfragen und das "Beitreten" beim Kunden wahrscheinlich das Einfachste. – JasonSmith
Einverstanden. Dies ist derzeit der beste verfügbare Ansatz. Zusätzlich zu dem, was @JasonSmith gesagt hat, könnten Sie auch die zusätzliche Filterung in einer _list -Funktion vornehmen. In allen Fällen "sortiert" CouchDB automatisch alle Datumsschlüssel (Zeitstempel oder Datumsfelder). Der "harte Teil" ist nur die spezifischen Gruppen aus dem Index auszuwählen. – BigBlueHat