2013-04-27 70 views
2

鉴于这种Category架构猫鼬GET _id参考模型的,不管它填充或不

{ 
    title: String, 
    parent: { 
     type: Schema.Types.ObjectId, 
     ref: 'Category', 
     required: true 
    } 
} 

现在,如果我有Category的实例,但我不知道是否parent已被填充或者不需要,我需要parent_id(实际上只是十六进制表示)。

有没有更好的方法来做到这一点:?

var parentID = (category.parent._id || category.parent).toString(); 

回答

1

我不认为有更好的方法。我确实把它放在虚拟中。

schema.virtual('parentID').get(function() { 
    return this.parent._id || this.parent; 
}) 

如果需要多种方案,可以很容易地制作插件。