gpt4 book ai didi

node.js - 使用正则表达式搜索时 MongoJS 不返回数据

转载 作者:太空宇宙 更新时间:2023-11-03 22:48:17 25 4
gpt4 key购买 nike

Node.js,mongojs ,mongodb。我正在使用正则表达式搜索技能列表。这是我的服务器代码:

var nconf = require('nconf');
var db = require('mongojs').connect(nconf.get('mongolab:connection'), ['skills', 'users']);

app.get('/api/skill', function(req, res){
console.log('searching for ' + req.query['q']);

var query = '{name: /' + req.query['q'] + '/i}';
console.log('query: ' + query);
db.skills.find(query, function(err, data){
console.log('returning ' + JSON.stringify(data));
if(!err){
res.writeHead(200, {'content-type': 'text/json' });
res.write( JSON.stringify(data) );
res.end('\n');
}
});

});

我的列表中确实有一个值“asp.net”。控制台日志输出如下:

searching for .net
query: {name: /.net/i}
returning []

我使用 MongoHub 连接到同一服务器/数据库,将语句粘贴到查询字段中,然后取回我的记录:

{
"name": "asp.net",
"description": "",
"_id": {
"$oid": "500b4aae14f7960e91000001"
}
}

有什么建议吗?

最佳答案

query 必须是对象,而不是字符串。试试这个:

var query = {name: new RegExp(req.query['q'], 'i') };

关于node.js - 使用正则表达式搜索时 MongoJS 不返回数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11597205/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com