13
我在CouchDB中有一堆MP3元數據。我想要返回MP3元數據中的每個專輯,但沒有重複。如何在CouchDB中執行「DISTINCT」的SQL等效項?
一個典型的文件看起來是這樣的:
{
"_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"
}
詢問能否請您解釋一下其中的神奇的是在返回獨特價值? – 2010-03-28 21:13:39
當然。請記住'map'函數接受一個文檔並在'(key,value)'對上調用'emit'。因爲我們只關心這張專輯 - 沒有別的 - 我們只發出這個。然後,對於每個* distinct *鍵,CouchDB將調用'reduce(key,values)'並將其用作查詢的結果(同樣,我們只需從'reduce'返回'null',因爲我們不關心值)。 – 2010-03-28 22:33:19
這有幫助嗎? – 2010-03-28 22:34:21