MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

A consulta Mongoose/mongoDB se junta .. mas eu venho de um plano de fundo sql


Você está a um passo de distância!

Esquema do Grupo de Projetos:
var ProjectGroupSchema = new Schema({
    title             : String
});

Esquema do projeto:
var ProjectSchema = new Schema({
    title         : {type : String, default : '', required : true},
    group         : {type: Schema.Types.ObjectId, ref: 'ProjectGroup' },
    _users    : [{type: Schema.Types.ObjectId, ref: 'User' }]
});

Esquema do usuário:
var UserSchema = new Schema({
    first_name    : {type: String, required: true},
    last_name     : {type: String, required: true},
    subscribing   : [{type: Schema.Types.ObjectId, ref: 'Project' }]
});

Então você pode fazer o seguinte:
user.findById(req.userId)
     .populate('subscribing')
     .exec(function(err, user){
          console.log(user.subscribing);
     })

Ou:
project.find({
        subscriber : req.userId
      })
     .populate('subscriber')
     .populate('group')
     .exec(function(err, projects){
          console.log(projects);
     })