2017-08-10 22 views
0

標題說明了,有沒有什麼辦法,以避免對每一個新的領域添加到數據庫中創建新的過濾器,如果字段應該是可以從過濾的目的客戶端/前端應用程序。 這是一個問題,我注意到,一直纏着我,我要創建一個新的過濾器,每一次當一個新字段添加到數據庫。帆API - 如何避免爲每一個新領域創造新的過濾器添加到數據庫

數據庫:MySQL的

示例代碼如下:

function (req, res) { 
    var params = req.params(); // get all params from request URI in JSON format 
    var filter = {}; 
    if(params.name){ 
    filter.name = { contains: params.name }; 
    } 

    // ... and so on for other fields. 
    // this is where the part it is getting annoying 
    // as if there's a new field added, we have to 
    // add more and more code 

    Model.find(filter).exec(function (err, records) { 
    // handle error and send response back 
    } 
} 
+0

你能否解釋更多關於你的問題?你正在使用哪個數據庫?哪裏使用過濾器? – tibetty

+0

@XihuaDuan是它更清晰理解嗎? – jodylan

+0

我相信,通過正確使用Object.keys(),你能出來簡潔利落的解決方案。 – tibetty

回答

0

這裏說到我供你參考代碼片段:

for (let key of Object.keys(params)) { 
    filter[key] = {contains: params[key]}; 
} 
相關問題