Mongoose / mongoDB łączy sprzężenia .. ale pochodzę z tła sql
Pochodzę z tła sql, więc pisanie zapytań w sql, w których łączę tabele, jest dość proste, ale myślę, że brakuje mi tego w mongoose / mongodb
Zasadniczo znam identyfikator Subscriber_ID (który odwzorowuje dokument w kolekcji użytkownika)
Chcę pobrać grupę projektową ze wszystkimi projektami, do których należy użytkownik, więc jeśli miałbym to napisać w pseduo sql, byłoby to jak
Select
ProjectGroup.title,
Project.Title
FROM
ProjectGroup,
Project,
User
WHERE
User.id = req.body.subscriber_id
AND Project.subscriber_id = User.id
AND ProjectGroup.project_id = Project.id
Musi istnieć sposób na wykonanie podobnych połączeń w mongoose / mongodb, ponieważ typ mapuje do schematu?
Moje schematy .....
Schemat grupy projektowej
var ProjectGroupSchema = new Schema({
title : String
, projects : [ { type: Schema.Types.ObjectId, ref: 'Project' } ]
});
Schemat projektu
var ProjectSchema = new Schema({
title : {type : String, default : '', required : true}
, subscribers : [{ type: Schema.Types.ObjectId, ref: 'User' }]
});
Schemat użytkownika
var UserSchema = new Schema({
first_name : {type: String, required: true}
, last_name : {type: String, required: true}
});
Dziękuję Ci!