MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Mongoose/mongoDB-Abfrage tritt bei ... aber ich komme aus einem SQL-Hintergrund

Sie sind nur einen Schritt entfernt!

Projektgruppenschema:

var ProjectGroupSchema = new Schema({
    title             : String
});

Projektschema:

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

Benutzerschema:

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

Dann können Sie Folgendes tun:

user.findById(req.userId)
     .populate('subscribing')
     .exec(function(err, user){
          console.log(user.subscribing);
     })

Oder:

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