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

时间:2013-04-27 08:52:14

标签: node.js mongoose

鉴于此Category架构

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

现在如果我有Category的实例怎么办,但我不知道是否已填充parent并且我需要_id(实际上只是十六进制表示) parent

有没有更好的方法:?

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

1 个答案:

答案 0 :(得分:1)

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

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

如果需要多个方案,这很容易成为一个插件。