Node.js Mongoose获取引用模型的_id,无论它是否已填充

Node.js Mongoose获取引用模型的_id,无论它是否已填充,node.js,mongoose,Node.js,Mongoose,给定此类别模式 { title: String, parent: { type: Schema.Types.ObjectId, ref: 'Category', required: true } } 现在,如果我有一个Category的实例,但我不知道parent是否已填充,我需要父对象的\u id(实际上只是十六进制表示形式)该怎么办 有没有更好的方法 var parentID = (category.parent._i

给定此
类别
模式

{
    title: String,
    parent: {
        type: Schema.Types.ObjectId,
        ref: 'Category',
        required: true
    }
}
现在,如果我有一个
Category
的实例,但我不知道
parent
是否已填充,我需要
父对象的
\u id
(实际上只是十六进制表示形式)该怎么办

有没有更好的方法

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

我认为没有更好的办法了。但我确实把它放在了虚拟环境中

schema.virtual('parentID').get(function() {
    return this.parent._id || this.parent;
})
如果需要多个方案,可以很容易地将其制作成插件