2012-09-18 25 views
0

基於正則表達式列表從視圖中排除文檔的最佳方法是什麼?例如,我想排除其中doc.issue.name包含與正則表達式列表匹配的值的任何內容。CouchDB基於正則表達式列表從視圖中排除

例如排除列表:[/富/,/酒吧/]

{ 
"_id": "1", 
"issue": { 
    "name": "foo" 
} 

{ 
"_id": "2", 
"issue": { 
    "name": "bar" 
} 

{ 
"_id": "3", 
"issue": { 
    "name": "fred" 
} 

因此,基於以上的文件,剛剛返回文檔,其中doc.issue.name =「弗雷德」

回答

1

可以這麼回答我的如果有其他人需要做這種類型的事情,這裏的問題!

基於下列文件:

{ 
"_id": "1", 
"issue": { 
"name": "foo" 
} 

{ 
"_id": "2", 
"issue": { 
"name": "bar" 
} 

{ 
"_id": "3", 
"issue": { 
"name": "fred" 
} 

此地圖功能:

function(doc) { 
var reg_exps = [/foo/g, /bar/g]; 
for (r in reg_exps){ 
    if (doc.name.match(reg_exps[r])){ 
    return; 
    } 
} 
emit(doc.name, 1); 
} 

將只與 「弗雷德」 的名稱

返回文檔