我试图填充猫鼬模型,我只希望返回的项目是与ID匹配的项目。猫鼬,填充ID是特定于项目参考
编辑更新:在下面的User模型中,我需要先通过id找到正确的用户,然后对于task
属性,我需要填充它,其中projectID
匹配req.params.ID
。我怎样才能填充projectID
匹配req.params.ID
的任务。我已经包括了我的全部用户模型以及任务模式
//用户模式
var UserSchema = new Schema({
name: {
type: String,
trim: true,
required: "First Name is Required"
},
username: {
type: String,
trim: true,
required: "Username is Required"
},
skills: {
type: String,
trim : true
},
avatar: {
type: String
},
SQLid: {
type: Number
},
userCreated: {
type: Date,
default: Date.now
},
lastUpdated: {
type: Date
},
adminTeams: [{
type: Schema.Types.ObjectId,
ref: "Team"
}],
team: [{
type: Schema.Types.ObjectId,
ref: "Team"
}],
task: [{
projectID: {
type: String
},
theTask: {
type: Schema.Types.ObjectId,
ref: "Task"
}
}]
});
//任务模式
var TodoSchema = new Schema({
task: {
type: String
}
});
如何我只得到填充task
在专案编号等于一个特定的ID。我试过
User.findById({ "_id": req.params.id }).populate({ path: 'task', match: {projectID: req.params.pID}, select: 'theTask' })
.exec(function(err, docs){
console.log("POPULATE TASKS DOCS", docs)
但是这表明文档是空的。
我想这一点,但它返回任务和项目的_id,而不是实际的任务。我已经包含了我的完整用户模型和任务模型 – henhen