Mam kilka metadanych MP3 w CouchDB. Chcę zwrócić każdy album z metadanych MP3, ale bez duplikatów.Jak zrobić SQL równoważny "DISTINCT" w CouchDB?
Typowy dokument wygląda następująco:
{
"_id": "005e16a055ba78589695c583fbcdf7e26064df98",
"_rev": "2-87aa12c52ee0a406084b09eca6116804",
"name": "Fifty-Fifty Clown",
"number": 15,
"artist": "Cocteau Twins",
"bitrate": 320,
"album": "Stars and Topsoil: A Collection (1982-1990)",
"path": "Cocteau Twins/Stars and Topsoil: A Collection (1982-1990)/15 - Fifty-Fifty Clown.mp3",
"year": 0,
"genre": "Shoegaze"
}
Czy mógłbyś wyjaśnić, gdzie magia jest w powrocie unikalne wartości? –
Pewnie. Pamiętaj, że funkcja 'map' akceptuje jeden dokument i wywołuje' emit' na '(klucz, wartość)' parach. Ponieważ dbamy tylko o album - nic więcej - emitujemy tylko to. Następnie, dla każdego * odrębnego * klucza, CouchDB wywoła 'redu (klucz, wartości)' i użyje tego jako wyniku zapytania (ponownie zwracamy 'null' z' reduce', ponieważ nie zależy nam na wartość). –
Czy to pomaga? –