2017-03-28 39 views
1

文件, db.collection.find({key:value}) 回報正是我想要的,只是我想要使用URL從瀏覽器這個查詢像localhost:8000/api/profiles?key=value我如何查詢包含特定鍵/值對使用monogo的外殼

我試圖使用Express,Node和Mongoose。

這裏是我的代碼:

//Get By query route 
router.get('/:param', function(req, res){ 
    var param = req.query(param); 
    getProfilebyQuery(function(err, profiles) { 
    if(err){ 
     throw err; 
    } 
res.json(profiles) 
    }) 
}); 
//METHODS GO HERE 
//These methods are stored as variables and called in the Routes above. 
//Get by Query 
var getProfilebyQuery = function(param, callback) { 
    Iprofile.find(param, callback); 
}; 

你不能看到什麼是「Iprofile」需要我的貓鼬模式。我不知道我做錯了什麼。

+0

其實你不通過'param'到'getProfilebyQuery',但'param'實際上是不確定的,以及3號線 –

回答

0

由於您使用查詢參數(difference between req.query and req.params),因此不需要定義/:param。你需要使用req.query。

此外,您還沒有通過param變量的功能。

//Get By query route 
router.get('/', function(req, res){ 
    var param = req.query; 
    getProfilebyQuery(param, function(err, profiles) { //pass param 
    if(err){ 
     throw err; 
    } 
    res.json(profiles) 
    }) 
}); 
//METHODS GO HERE 
//These methods are stored as variables and called in the Routes above. 
//Get by Query 
var getProfilebyQuery = function(param, callback) { 
    Iprofile.find(param, callback); 
}; 
+0

謝謝塔爾哈,這個工作! – andihow

相關問題