【发布时间】:2018-07-31 16:55:06
【问题描述】:
我正在尝试为用户创建一种通过这样的端点搜索我的 mongo 数据库的方法:
app.get('/search/:input', function(req, res){
console.log(`get request to: /members/${req.params.input}`);
var regexValue = '\.*'+req.params.input+'*\.';
db.collection(myCollection).find({"full_name": {$regex: regexValue, $options: 'i'}}).toArray((err, members) => {
if(err) return console.log(err)
console.log(members);
res.render('search/list', {members: members});
})
});
我希望他们能够在文本框中输入并让它直接执行此端点。我有一个非常简单的文本框,如下所示:
<form action="/search/">
<input type="text" name="firstname" ><br>
<input type="submit" value="Submit">
</form>
我的问题是我不知道如何将提交的字符串从文本框中获取到请求参数中。
【问题讨论】:
-
表单提交是帖子提交。为什么不用 app.post() 而不是 app.get()?
-
为什么要传入参数可以使用查询。
-
我不想使用 POST,因为我没有向数据库添加任何内容,我只是要求返回数据:AKA GET。谢谢拉胡尔,查询参数是我所缺少的:)
标签: javascript html node.js mongodb express