2016-03-15 102 views
1

假设我有两个模式:
1. UserEnrolledCourses猫鼬查询

var userCoursesSchema = new mongoose.Schema({ 
    user: { type: mongoose.Schema.Types.ObjectId, ref: 'users'}, 
    courseId: { type: mongoose.Schema.Types.ObjectId, ref: 'courses'}, 
    isEnrolled: Boolean, 
}); 

2. CourseResources

var resourcesSchema = new mongoose.Schema({ 
    courseId: { type: mongoose.Schema.Types.ObjectId, ref: 'courses', required: true }, 

    type: {type:String, required:true}, 

}); 

两者都从courses共享相同的参考courseId架构。
所以,我的目标是从查询生成结果,对于每个courseId一个用户注册,列出所有可用的资源。那可能吗?

回答

1

在mongoDB中,您正在对一个具体集合执行查询。唯一的例外是对于mongodb 3.2和更高版本的聚合中的新方法$ lookup的左外连接。看看documentation