2016-03-15 4 views
1

Предположим, что у меня есть две схемы:
1. UserEnrolledCoursesMongoose запрос из двух схем, которые разделяют ту же ссылку

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 схемы.
Итак, моя цель состоит в том, чтобы генерировать результат запроса, который для каждого курса включал бы один пользователь, список всех доступных ресурсов. Это возможно?

ответ

1

В mongoDB вы выполняете запросы по одной конкретной коллекции. Единственным исключением является левое внешнее соединение с новым методом $ lookup в агрегации для mongodb 3.2 и более. Посмотрите на documentation

Смежные вопросы