Javascript 如何使用express mongodb获取搜索数据

Javascript 如何使用express mongodb获取搜索数据,javascript,node.js,mongodb,express,restapi,Javascript,Node.js,Mongodb,Express,Restapi,这是我的CRUD代码,现在我想用动态值执行搜索。 const express = require('express') const router = express.Router() const cors = require('cors') //Importing Jobs Model const JobsModel = require('../../models/jobs') //POST Req router.post('/', async (req,res) => {

这是我的CRUD代码,现在我想用动态值执行搜索。

const express = require('express')
const router = express.Router()
const cors = require('cors')

//Importing Jobs Model
const JobsModel = require('../../models/jobs')


//POST Req 
router.post('/', async (req,res) => {
    const newJobPost = new JobsModel(req.body)
    try{
        const jobPost = await newJobPost.save()
        if(!jobPost) throw Error('Error, JobPost Not Saved...!')

        res.status(200).json(jobPost)
    }catch(err){
        res.status(400).json({msg:err})
    }
})

//GET All Req 
router.get('/',cors(), async (req,res) => {
    try{
        const getJobs = await JobsModel.find()
        if(!getJobs) throw Error('Error, No Jobs Found...!')
        res.status(200).json(getJobs)
    }catch(err){
        res.status(400).json({msg:err})
    }
})

//GET Single Req 
router.get('/:id',cors(), async (req,res) => {
    try{
        const getJob = await JobsModel.findById(req.params.id)
        if(!getJob) throw Error('Error, Job Not Found...!')
        res.status(200).json(getJob)
    }catch(err){
        res.status(400).json({msg:err})
    }
})


//DELETE Req 
router.delete('/:id',cors(), async (req,res) => {
    try{
        const delJobs = await JobsModel.findByIdAndDelete(req.params.id)
        if(!delJobs) throw Error('No Jobs Found to Delete...!')
        res.status(200).json({success: true})
    }catch(err){
        res.status(400).json({msg:err})
    }
})


//UPDATE Req 
router.patch('/:id',cors(), async (req,res) => {
    try{
        const updateJob = await JobsModel.findByIdAndUpdate(req.params.id, req.body)
        if(!updateJob) throw Error('Error, No Jobs Found to Update...!')
        res.status(200).json({success: true})
    }catch(err){
        res.status(400).json({msg:err})
    }
})

//SEARCH Req


module.exports = router


请那里的任何人帮助我执行搜索查询。我还在Google上做了大量研究,以找到“从mongodb get req搜索特定数据”的解决方案。

使用mongoose usinfind()函数在mongodb中查找元素,该函数接受可选参数。
要按标题查找,您需要按返回回调函数的任何内容查找

JobsModel.find({title: req.body.title})

请指定要搜索的内容、所需结果,并给出数据库或模型的示例结构
const-mongoose=require('mongoose')const-Schema=mongoose.Schema-const-JobSchema=new-Schema({title:{type:String,required:true},类别:{type:String,required:true},公司:{type:String,required:true},城市:{type:String,required:true},描述:{type:String,required:true})module.exports=mongoose.model('Jobs',JobSchema)
这是一个包含所有mongodb字段的模型文件,您想搜索什么?按标题还是按城市?我想按标题、类别和城市搜索。我真的陷入了这个困境,请帮助@Qudusayoh我如何执行这样的查找`//GET all Req router.GET('/',cors(),async(Req,res)=>{try{const getJobs=wait JobsModel.find()如果(!getJobs)抛出错误('Error,找不到作业…!')res.status(200).json(getJobs)}catch(err){res.status(400).json({msg:err}}}})`正如您看到的那样,我的Get、Post、delete和Update如何编写这样的搜索?
//SEARCH Req router.Get('/:title',cors(),async(Req,res)=>{try{const findJobs=wait JobsModel.find({title:req.body.title})如果(!findJobs)抛出错误('Error,Job Not Found…!')res.status(200.json(findJobs)}catch(err){res status(400.json({msg:err}})})})
这也不起作用。我使用像:JobsModel.find({title:req.body.title})这样的承诺。然后((结果)=>{/*您的过滤器位于此处*/});then函数中的结果是一个数组,您现在可以过滤出结果,请尝试记录您的结果以快速解决问题。