2014-01-24 56 views
1

我在使用帶有布爾鍵的couchbase map函數時遇到問題。使用帶有布爾參數的couchbase視圖的問題

我寫了一個地圖功能與布爾參數,但是當我嘗試使用此函數傳遞值「假」作爲關鍵的功能沒有返回

樣本文檔:

{ 
    "name": "lorem ipsum", 
    "presentationId": "presentation_24e53b3a-db43-4d98-8499-3e8f3628a9c6", 
    "fullPrice": 8, 
    "isSold": false, 
    "buyerId": null, 
    "type": "ticket", 
} 

地圖功能:

function(doc, meta) { 
    if (doc.type == "ticket" && doc.isSold && doc.presentationId) { 
     emit([doc.isSold, doc.presentationId], null); 
    } 
} 

的http://本地主機:8092 /默認/ _design /車票/ _view/by_presentation_and_isSold鍵= [假 「presentation_24e53b3a-db43-4d98-8499-3e8f3628a9c6」]

結果:

{"total_rows":10,"rows":[]}]} 

回答

2

你有這個問題,因爲你發出聲明之前的doc.isSold做檢查,檢查意味着只有在doc.isSold == TRUE是通過文件。

你需要做的是什麼,這將檢查該變量已集,而不是評估布爾值:

function(doc, meta) { 
    if (doc.type == "ticket" && doc.isSold != null && doc.presentationId) { 
     emit([doc.isSold, doc.presentationId], null); 
    } 
} 

希望幫助:)