7
檢索對象我已經得到了以下的模式:貓鼬 - 從裁判查詢
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],
});
我想要做的,是查詢事件,與invitation._id,並最終找回用戶...
invitees-> eventMember->用戶
到目前爲止,我已經有了:
Event
.find({ "invitees._id": req.query.invitation_id })
.populate('user')
.run(function (err, myEvent) {
console.log('error: ' + err);
console.log('event: '+ myEvent);
})
這窩ks和控制檯顯示myEvent的輸出... (我意識到我不需要我的貓鼬查詢的填充部分爲此...我只是測試)
我在努力如何得,我想基本上描述爲:myEvent.invitees.user
編輯
作爲更新... 這工作 - 但是,它那種很爛,因爲現在我我需要做另一個數據庫操作來獲取用戶(我意識到引用貓鼬這樣做在引擎蓋下)
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
});
3.x用.exec()替換.run() – chovy 2012-10-01 06:11:42