如何查询包含特定键/值对的文档

时间:2017-03-28 18:49:43

标签: javascript mongodb express mongoose

使用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模式。我不知道我做错了什么。

1 个答案:

答案 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);
};