Tengo un montón de metadatos MP3 en CouchDB. Quiero devolver todos los álbumes que están en los metadatos MP3, pero no hay duplicados.¿Cómo hago el equivalente SQL de "DISTINCT" en CouchDB?
Un documento típico se parece a esto:
{
"_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"
}
Podría explicar donde está la magia en la devolución de valores únicos? –
Claro. Recuerde que la función 'map' acepta un documento y llama' emit' en pares '(key, value)'. Porque solo nos importa el álbum, nada más, solo emitimos eso. Entonces, para cada tecla * distinct *, CouchDB llamará 'reduce (clave, valores)' y la usará como resultado de su consulta (de nuevo, simplemente devolvemos 'null' de' reduce' porque no nos importa la valor). –
¿Eso ayuda? –