2017-07-27 57 views
1

我試圖實現自動完成用戶搜索功能,您可以在其中搜索某人姓名或其電子郵件地址。針對沒有重複的兩個值進行查詢

我的地圖功能目前看起來是這樣的:

function (doc) { 
    if (doc.name && doc.email) { 
    emit(doc.name, doc.id); 
    emit(doc.email, doc.id); 
    } 
} 

但是這意味着如果有人搜索他的名字開始以同樣的方式爲他們的電子郵件地址的用戶,在我的要求的inital階段m爲同一個用戶獲得兩個結果。

有沒有一種方法可以查詢用戶的名稱,如果不匹配,那麼只有查詢電子郵件?

回答

0

像這樣的東西應該工作:

function (doc) { 
    if (doc.name) { 
    emit(doc.name, doc.id); 
    } 

    else if (doc.email) { 
     emit(doc.email, doc.id); 
    } 

    else {console.log("No Match")} 

} 
+0

你的幫助深表感謝,謝謝你,但所有的文件將有兩個字段,我寧願希望能夠同時搜索領域,而不返回如果兩個重複的文件名稱和電子郵件匹配 – abinocoe

相關問題