首页 > 解决方案 > 在rest api monngodb node express中过滤数据

问题描述

我正在创建我的第一个 rest api,并且我已经完成了 findbyId、find、delete、update 部分。现在我需要过滤掉我已经搜索出方法的数据,但我无法理解它们。问题:我有程序集合,它有学科领域,我想根据学科名称过滤掉结果。这是我的代码

app.get('/api/programs/', function(req,res)
{
    disc = req.query.discipline;
    console.log(disc)
    //by query parameter
    Programs.find({where : { _discipline: disc }},function(err,progData)
    {
        if(err)
        {
            throw err;
        }
        res.json(progData);
    } );

网址: http://localhost:3000/api/programs/?discipline=Engineering

程序架构:

var progSchema = mongoose.Schema
({
   uni_name:       String,
   program_name:   String,
   degree_name:    String,
   duration:       String,
   fee_per_year:   String,
   admission_date: String,
   last_merit:     String,
   discipline:     String,
   About_Disc:     String
});

此代码不起作用,它返回空 [],但数据库包含所需的数据。如果您有更好的解决方案,请提出建议。

标签: mongodbrestapifilter

解决方案


知道需要将集合名称添加为

var progSchema = mongoose.Schema
({
   uni_name:       String,
   program_name:   String,
   degree_name:    String,
   duration:       String,
   fee_per_year:   String,
   admission_date: String,
   last_merit:     String,
   discipline:     String,
   About_Disc:     String
},
{ collection: "Engineering" }
);

推荐阅读