Mongoose -Извлечение объекта из ref-запроса

У меня есть следующие схемы:

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],
});

Что я пытаюсь сделать, так это запросить события с приглашением. _id и, в конечном итоге, вернуть пользователя...

приглашенные->eventMember->пользователь

Пока у меня есть:

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

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

Это работает, и консоль показывает вывод myEvent... (Я понимаю, что мне не нужна заполняющая часть моего запроса мангуста выше для этого... я просто тестирую)

Я изо всех сил пытаюсь получить то, что я в основном описал бы как:myEvent.invitees.user

РЕДАКТИРОВАТЬ

В качестве обновления... Это работает,-однако, это отстой, так как теперь мне нужно выполнить еще одну операцию с базой данных, чтобы заставить пользователя (я понимаю, что ref в mongoose делает это под капотом)

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
});
11
задан Alex 18 April 2012 в 18:56
поделиться