如何从层次模型中的父级获取字段
how to get fields from parent in hierarchical model
我有用户和宠物的模式。
用户可以养几只宠物。
我需要宠物所属的用户名
var petSchema = new Schema({
name: { type: String, required: true },
user: { type: Schema.Types.ObjectId, ref: 'User', required: false },
});
var userSchema = new Schema({
name : { type: String, default: 'New User', required: true },
});
我试试:
Pet.find({name:'koko'},"user user.name ", function(err,user){
res.send(user);
});
但是我没有得到用户名。
你应该使用populate方法
即
Pet
.findOne({ .... })
.populate('user')
.exec(function (err, pet) {
if (err) return handleError(err);
res.send(pet.user)
})
我有用户和宠物的模式。 用户可以养几只宠物。 我需要宠物所属的用户名
var petSchema = new Schema({
name: { type: String, required: true },
user: { type: Schema.Types.ObjectId, ref: 'User', required: false },
});
var userSchema = new Schema({
name : { type: String, default: 'New User', required: true },
});
我试试:
Pet.find({name:'koko'},"user user.name ", function(err,user){
res.send(user);
});
但是我没有得到用户名。
你应该使用populate方法
即
Pet
.findOne({ .... })
.populate('user')
.exec(function (err, pet) {
if (err) return handleError(err);
res.send(pet.user)
})