【发布时间】:2012-01-13 11:18:20
【问题描述】:
我正在使用 node.js 开发一个简单的 Web 服务。我正在使用 choreographer 来路由 http 调用。此代码工作正常:
router.get('/search/*', function(req, res, term){
res.writeHead(200, {'Content Type:':'text/plain'});
db.collection('foo').find({'a':1}).toArray(function(err, items){
console.log(items);
res.write(JSON.stringify(items));
res.end();
});
});
如您所见,find 方法查找 {'a':1},这工作正常,返回一条记录。但是当我想将搜索词从路由器传递给查询时,我得到一个空响应:
router.get('/search/*', function(req, res, term){
res.writeHead(200, {'Content Type:':'text/plain'});
db.collection('foo').find({'a':term}).toArray(function(err, items){
console.log(items);
res.write(JSON.stringify(items));
res.end();
});
});
有什么想法吗??
编辑:我已经检查了 term 的值,正如下面 cmets 中所建议的那样,它是 1,这是我所期望的。
【问题讨论】:
-
你检查过 term 的值吗? console.log(term)
-
simplyharsh,是的,我有,正如预期的那样
-
你检查过err的值吗?如果执行查询有任何问题,err 将是非空的,
items将是空的。经常检查是件好事。
标签: javascript node.js mongodb nosql