Ho un sacco di metadati MP3 in CouchDB. Voglio restituire tutti gli album nei metadati MP3, ma non duplicati.Come faccio l'equivalente SQL di "DISTINCT" in CouchDB?
Un documento tipico assomiglia a questo:
{
"_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"
}
La prego di spiegare dove la magia è nel ritornare valori unici? –
Sicuro. Ricorda che la funzione 'map' accetta un documento e chiama' emit' sulle coppie '(chiave, valore)'. Perché ci interessa solo l'album - nient'altro - lo emettiamo solo. Quindi, per ogni * distinta * chiave, CouchDB chiamerà 'reduce (chiave, valori)' e la userà come risultato della tua query (di nuovo, restituiamo semplicemente 'null' da' reduce' perché non ci interessa valore). –
Questo aiuto? –