Javascript 猫鼬中的逐字逐句
我有一条这样的路线:Javascript 猫鼬中的逐字逐句,javascript,node.js,express,mongoose,Javascript,Node.js,Express,Mongoose,我有一条这样的路线: router.get("/search/:value", function(req, res){ Imgs.find({tags: req.params.value}, function(err, f){ if(err){ console.log(err); } else { res.render("Images/index.ejs", { playlists: f }); } });
router.get("/search/:value", function(req, res){
Imgs.find({tags: req.params.value}, function(err, f){
if(err){
console.log(err);
} else {
res.render("Images/index.ejs", {
playlists: f
});
}
});
});
图像模式
title: String,
image: String,
description: String,
tags: [
]
当用户添加图像时,他可以选择向其添加标记,我尝试根据其标记查找图像
我已将搜索框添加到页面
问题:我只能找到具有完全相同标签的图像 有没有办法让我逐字搜索 编辑1:
嗨,伙计们,我不认为我解释的问题正确,我真的很累,对不起 问题2:
当我在搜索框中写入时,例如:
“雨花” 我将得到的值是“Rain Florest”作为一个句子,但我想搜索标记为“Rain”或/和“Florest”的图像 最终编辑
我使用了搜索值,然后应用于所选答案
var arrayOfTags = req.params.value;
Imgs.find({tags: new RegExp(arrayOfTags, 'i')}, function(err, f){
if(err){
console.log(err);
} else {
res.render("Images/index.ejs", {
user: req.user,
playlists: f
});
}
});
});
谢谢大家 试试这个:
var arrayOfTags=['tag1','tag2','tag3']
Imgs.find({tags: {$in : arrayOfTags}}, function(err, f){
if(err){
console.log(err);
} else {
res.render("Images/index.ejs", {
playlists: f
});
}
});
这将返回数组中至少有一个标记的所有“图像”。但您可能希望从以下查询参数获取数组:
var arrayOfTags = req.query.tags
您可以使用
regex
匹配标记中的子字符串,如下所示:
router.get("/search/:value", function(req, res){
Imgs.find({tags: req.params.value}, function(err, f){
if(err){
console.log(err);
} else {
res.render("Images/index.ejs", {
playlists: f
});
}
});
});
router.get(“/search/:value”),函数(req,res){
find({tags:newregexp(req.params.value,'i')},函数(err,f){
如果(错误){
控制台日志(err);
}否则{
res.render(“Images/index.ejs”{
播放列表:f
});
}
});
});代码>请同时提供图像模式的相关部分。我做到了,谢谢你好,它根本不起作用,但帮助我解决了它,谢谢。这正是我要找的,谢谢!!