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

时间:2015-01-28 09:09:09

标签: mongodb mongoose

我有用户和宠物的模式。 用户可以养几只宠物。 我需要宠物所属的用户名。

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

但我没有得到用户名。

1 个答案:

答案 0 :(得分:2)

您应该使用populate方法

Pet
.findOne({ .... })
.populate('user')
.exec(function (err, pet) {
  if (err) return handleError(err);
  res.send(pet.user)
})