req param返回一个空数组

时间:2014-04-22 12:25:13

标签: node.js mongodb express

我使用node.js和mongodb进行地理定位应用,而req Param返回一个空数组

exports.findpressure = function(req, res) {
var queryObject = req.param('q');
console.log(queryObject);
db.collection('Pressure', function(err, collection) {
collection.find( { loc: { $near :[  req.param('q') ] , $maxDistance : 5 }},{"value" : 1, _id : 0})  .sort({_id : -1}).limit(1).toArray(function(err, items) 

 {              
        res.send(items);            

    });
});
};

经度和纬度值显示在控制台

Listening on port 3000...

Connected to 'weather' database

8.9068256,52.019347499999995

GET /pressure?q=8.9068256,52.019347499999995 200 27ms - 2b

网址如下

http://localhost:3000/pressure?q=8.9068256,52.019347499999995

如果我使用像8.9068256,52.019347499999995这样的值从数据库中获取值,但如果我使用req.param(' q')则返回一个空数组

1 个答案:

答案 0 :(得分:2)

您似乎将这些值作为查询字符串的一部分传递。 req.query.q应包含逗号分隔值

编辑:看req.param()它应该抓住那个查询值。你期望这些值是一个字符串吗?它们应该是单独的字符串吗至少可能需要给出该数组req.param('q').split(',')。如果他们需要数字,req.param('q').split(',').map(function(val) {return +val;});