我在论坛上为用户配置文件设置了Mongoose架构。我想要做的是将用户的论坛标题设置为ObjectID
并引用标题架构。我已经设置了这个部分。然而,默认情况下,我希望这个字段是一个名为“Noob”的字符串,直到从用户的配置文件中设置标题,然后将该值更改为引用数据库中的标题的ObjectID
。如何在定义的类型中为猫鼬模式设置不同类型的属性?
title: {
type: mongoose.Schema.Types.ObjectId,
ref: 'Title',
default: 'Noob'
},
这是我,基本上我想达到什么样的,但是这是因为我设置的默认值是一个字符串,而不是一个ObjectID
抛出一个错误。我不知道如何实现这个目标,或者我可能有什么替代方案。
为什么不设置'string'类型,并且在设置标题后将ObjectId转换为'string'? – brandonscript
@brandonscript所以它以字符串开头。那么当用户第一次将它设置为ObjectID?我仍然可以离开“参考:'标题'”这样做吗? –
不,我的意思是在飞行中,将ObjectId转换为字符串'this.objectid.toString()' – brandonscript