2016-10-03 44 views
0

我想查詢我的MongoDB從我的角度ui的typeahead中找到我的集合的文檔中的所有匹配的名稱字段,我必須在表中顯示匹配文檔的內容格式,我提到了幾個文檔,並寫了這個API,當我嘗試在高級REST客戶端測試時,它顯示連接超時,任何人都可以建議我在哪裏出錯? 我API代碼查詢MongoDB在ui中實現typheahead

var mongoose = require('mongoose'); 

    var enterprise = mongoose.model('enterprise'); 

    var search = function(req, res){ 
    function searchEnterprise(){ 

     var name = req.params.name; 
     enterprise.find({"name": '/^'+ name + '$/i'},function(err, data){ 
      if (err){ 
       console.log('err',err); 
      } else { 
       res.json(data); 
       console.log(data); 
      } 
     }); 
    } 
    } 
    module.exports = { 
     searchEnterprise : search 
    }; 

回答

0

無需嵌套函數searchEnterprise()。只是用它

var search = function(req, res){ 
    var name = req.params.name; 

    // can also use $regex like bellow line 
    //enterprise.find({'name': {$options:'i', $regex: name }}, or 
    // enterprise.find({"name": '/'+ name + '/i'} 

    enterprise.find({'name': {$options:'i', $regex: name }},function(err, data){ 
     if (err){ 
      console.log('err',err); 
      return res.status(400).send({msg: "error"}); 
     } else { 
      console.log(data); 
      return res.json(data); 
      // or 
      //return res.status(200).send(data); 
     } 
    }); 
}; 

module.exports = { 
    searchEnterprise : search 
}; 
+0

它的工作原理,但輸出空數組 – Idlliofrio

+0

空數組表示未發現有匹配條件 –

+0

任何數據可以嘗試使用'$ regex',更新答案 –