我正在用mongoDB构建一个nodejs的expression应用。我想让用户在提交注册表时能够选择某些预定义的标签。
在注册工作室时,有一个属性是 "设备",希望用户可以选择 "鼓"、"吉他"、"音箱"、"麦克风 "等标签。
而且我想用这些标签做搜索栏功能。
先谢谢你
所以,在数据库中,你可以创建一个带有 "标签 "的模型,这个模型的属性是 String
数据类型。做一个 app.post('someURL/:tag')
. 获取标签的值,使用 req.params
,检查是否有 tags
在你 model
是空的,如果不是,就设置它的值,否则就返回一个错误.任何时候你点击前台,都要用同一个API点向后台发出req
首先你要开通一个标签系统。如果你做的是用户,当你搜索标签时,你会发现用户。但是在你的项目中,有一些文章是用户可以发布的,最好是给文章添加标签。
我只举一个例子。
在你的Model.js脚本中添加。
tags:{
type:String,
required:True,//If you want to make tags as a obligation.
},
你应该看看这里Mongodb Nodejs Regex搜索
https:/www.youtube.comwatch?v=9_lKMTXVk64
添加一个 search.pug:(或者在你的布局中添加表单,这取决于你的喜好)
form.form-inline.my-2.my-lg-0(action="/sonuc" method="GET")
<input type="text" name="search" placeholder="Search Here..." class="form-control">
之后在你的app.js(或者你给它起的任何名字)。
你也可以看这里: https:/docs.mongodb.commanualreferenceoperatorqueryregex#examples。
app.get('/search', function(req, res){
if (req.query.search) {
const regex = new RegExp(escapeRegex(req.query.search), 'gi');
Article.find({"tags": regex}, function(err, articles) {
if(err) {
console.log(err);
} else {
res.render("index", {
articles: articles
});
}
});
}
});
而在article.pug.app.js中,你只需要添加这些代码,就可以添加文章(post)。
.
.
input.form-control(name='', type='text')
.
.
在app.js中,你只需要添加这些代码来添加文章(post)
let article = new Article({
...
...
...
tags:req.body.tags,
});
你可以直接修改代码,然后按照步骤操作。但我建议你把这些脚本写到你的笔记本上。然后写出它们的含义。
在这个项目中,你将使用 检索词.
请大家看一下我发给大家的链接,然后请大家在笔记本上写脚本,写出代码的含义。 (要学会结构和步骤。) 。