在db.collection.find执行后,Req.params获取值。有人可以告诉我这段代码我做错了吗?
exports.findAll = function(req, res) {
var postal = parseInt(req.params.postal);
db.collection('ifscdata', function(err, collection) {
collection.find({'ADDRESS':/postal/}).toArray(function(err, items) {
res.send(items);
});
});
我应该根据邮政对地址进行部分搜索。但我无法将价值传递给邮政,因为它只是在之后才获得价值。
功能路线就是这个
app.get('/ifsc/:postal', ifsc.findAll);
示例网址:
答案 0 :(得分:0)
为什么要在postal
之间添加斜杠?
你试过这个吗?
exports.findAll = function(req, res) {
var postal = parseInt(req.params.postal);
db.collection('ifscdata', function(err, collection) {
collection.find({'ADDRESS': postal}).toArray(function(err, items) {
res.send(items);
});
});
答案 1 :(得分:0)
看起来您需要在查询中使用正则表达式,考虑使用RegExp
对象包装变量,如下所示:
exports.findAll = function(req, res) {
var postal = req.params.postal,
regex = new RegExp(postal);
db.collection('ifscdata', function(err, collection) {
collection.find({'ADDRESS': regex}).toArray(function(err, items) {
res.send(items);
});
});