使用monogo的shell,
db.collection.find( {key:value} )
返回我想要的内容,只是我想使用像localhost:8000/api/profiles?key=value
我正在尝试使用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”需要我的mongoose模式。我不知道我做错了什么。
答案 0 :(得分: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);
};