猫鼬子文档搜索

时间:2019-05-06 12:34:23

标签: search mongoose subdocument

嗨,我有一个MongoDB集合,其子文档如下:

const classesSchema = new mongoose.Schema({
    courseId: {type: String, required: true},
    moduleId: {type: String, required: true},
    title: enter code here{type: String, required: true},
    description: {type: String, required: true},
    source: {type: String, required: true},
    position: {type: String, required: false},
    status: {type: String, uppercase: true, enum:['ENABLED', 'DISABLED'], 
    default: 'ENABLED'}
 },{
    timestamps: true
 })

这:

const Courses = new mongoose.Schema({
    title: {type: String, required: true},
    tags: {type: String, required: false},
    description: {type: String, required: true},
    thumbnail: {type: String, required: false},
    author: {type: String, required: false},
    status: {type: String, uppercase: true, enum:['ENABLED', 'DISABLED'], default: 'ENABLED'},
    courses_modules: [modulesSchema],
    courses_classes: [classesSchema],
},{
    timestamps: true
 })

所以我需要使用Mogoose编写一个简单的函数,以列出所有modulesId等于xxx但不起作用的Course_classes ...

const courseClassesGetbyId =(req, res, next)=>{

    let _id = req.params.courseId
    let moduleId = req.params.moduleId

    console.log(`Courses to module ${moduleId}`);
    Courses.findById({'courses_classes.moduleId' : moduleId},function(err, course){
        res.status(200).send(course.courses_classes);
    });

  }

0 个答案:

没有答案