假设我有两个模式:
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},
});
他们都从courseId
架构共享了相同的courses
引用
所以,我的目标是从查询生成结果,对于一个用户注册的每个courseId,列出所有可用的资源。那可能吗?
答案 0 :(得分:1)
在mongoDB中,您正在对一个具体集合执行查询。唯一的例外是对于mongodb 3.2及更多的聚合中的新方法$ lookup的左外连接。看documentation