Как мне сделать SQL эквивалент «DISTINCT» в CouchDB? - PullRequest
14 голосов
/ 29 марта 2010

У меня есть куча метаданных MP3 в CouchDB. Я хочу вернуть каждый альбом, содержащий метаданные MP3, но без дубликатов.

Типичный документ выглядит так:

{
   "_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"
}

Ответы [ 2 ]

27 голосов
/ 29 марта 2010

Я считаю, что ваша карта / уменьшение будет выглядеть примерно так:

function map(doc) {
    emit(doc.album, null);
}

function reduce(key, values) {
    return null;
}

Не забудьте запросить с дополнительным параметром group=true

13 голосов
/ 29 марта 2010
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...