如何从层次模型中的父级获取字段

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)
})