我有以下DOC一個CouchDB的:做一個CouchDB的減少查詢單個鍵
{
"name":"Chris",
"tags":["mustache", "music", "couchdb"]
}
{
"name":"Noah",
"tags":["hypertext", "philosophy", "couchdb"]
}
{
"name":"Jan",
"tags":["drums", "bike", "couchdb"]
}
地圖功能:
function(dude) {
if(dude.name && dude.tags) {
dude.tags.forEach(function(tag) {
emit(tag, 1);
});
}
}
Reduce函數:現在
function(keys, values) {
return sum(values);
}
,如果我查詢與?group=true
參數來看,我回來了計數爲每個標籤:
{"rows":[
{"key":"bike","value":1},
{"key":"couchdb","value":3},
{"key":"drums","value":1},
{"key":"hypertext","value":1},
{"key":"music","value":1},
{"key":"mustache","value":1},
{"key":"philosophy","value":1}
]}
我應該使用什麼查詢來獲得「couchdb」的值?
這個例子是從CouchDB的書拍攝,而我的實時應用具有關鍵的1000和大部分的時間我只需要找到一個單獨的密鑰的計數。
我不能夠使用鍵=參數,這是我真正想要的東西,因爲它返回一個空的結果。
如果我查詢?group=true&startkey="couchdb"&endkey="drums"
我得到的CouchDB的計數獨自一人,但我不能使用startkey =和endkey =,因爲我不知道接下來的關鍵是在現場DB什麼。
,你會在這種情況下,建議有什麼解決辦法?
我同意,簡單的按鍵和組查詢應該只是工作。有一件事要注意可能是正確的urlEncoding任何你需要的雙引號。 – 2012-02-07 15:04:33
感謝您的回答,Bernhard。我需要正確地逃脫關鍵的空間。 – 2012-02-16 06:41:52