Mongoose - retrouver un objet à partir de réf requête

J'ai les schémas suivants:

var userSchema = new Schema({
    firstName: String,
    lastName: String,
    emailAddress: {type: String, set: toLower, index: {unique: true}},
});

var eventMemberSchema = new Schema ({   
    user: { type : Schema.ObjectId, ref : 'User' },
    created: { type: Date, default: Date.now }
});

var eventSchema = new Schema({
    id : String,
    name : String,
    startDate : Date,
    endDate : Date,
    venue : { type : Schema.ObjectId, ref : 'Venue' },

    invitees : [eventMemberSchema],
});

Ce que je suis en train de faire, est de demander les événements, avec une invitation._id, et, finalement, revenir à l'utilisateur...

invités->eventMember->user

Pour l'instant j'ai:

Event
.find({ "invitees._id": req.query.invitation_id })
.populate('user')
.run(function (err, myEvent) {

  console.log('error: ' + err);
  console.log('event:  '+ myEvent);
})

Cela fonctionne, et la console affiche la sortie de myEvent...
(Je me rends compte que je n'avez pas besoin de remplir une partie de ma mangouste requête ci-dessus pour ça... je suis juste tester)

Je suis en difficulté sur la façon de l'obtenir, ce que j'avais fondamentalement décrire comme: myEvent.des invités.l'utilisateur

MODIFIER

Comme une mise à jour...
Cette œuvres - cependant, il sorte de suce, comme maintenant, je vais avoir besoin de faire un autre db opération pour obtenir de l'utilisateur (je me rends compte de ref dans la mangouste n'présent sous le capot)

Event
.findOne({ "invitees._id": "4f8eea01e2030fd11700006b"}, ['invitees.user'], function(err, evnt){
    console.log('err:  '+ err);
    console.log('user id:  '+ evnt.invitees[0].user); //this shows the correct user id
});
en 3.x remplacer .run ().exec()

OriginalL'auteur Alex | 2012-04-18