Mongoose获取参考模型的_id,无论是否填充

鉴于此Category架构

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

现在如果我有一个类的实例,但是我不知道是否已经填充了parent ,我需要parent_id (实际上只是hex表示forms)。

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

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

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

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

如果需要多种scheme,可以很容易地将其制作成插件。