Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 猫鼬中的逐字逐句_Javascript_Node.js_Express_Mongoose - Fatal编程技术网

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
}); 
}
});

});请同时提供图像模式的相关部分。我做到了,谢谢你好,它根本不起作用,但帮助我解决了它,谢谢。这正是我要找的,谢谢!!