我正在尝试从共享相同ID (not _id, hence using virtuals)
的两个集合中进行填充。用户集合中的localField嵌套得很深,我相信mongoose
无法识别它。
//User Schema:
var user = {
id: { type: Number, unique: true, min: 1 },
pa:{
tracked: [{name: {type: String},
range: { points: [
{ cope:
{
dittos: {type: Number}
}
}
]
}
}]
}
//virtual
const userSchema = new Schema(user, { toObject: { virtuals: true }, toJSON: { virtuals: true } })
userSchema.virtual('members', {
ref: 'Cope',
localField: 'dittos',
foreignField: 'id'
})
//Cope Schema:
let cope = {
id: { type: Number, unique: true, min: 1 },
name: { type: String }
}
const copeSchema = new Schema(cope)
//Populate
MODELSNAME.find(criteria, projection, options).populate({ path: 'members' }).exec(callback);
当我执行about代码时,我只是从Db中获得了整个用户集合。但是,相反,我要求输出是用户集合中的-->
同上,以用应付人口数据代替。
预先感谢:)