如何将自定义键添加到 mongoose 模式项?

How can I add custom keys to to mongoose schema item?

我有一个简单的 mongoose 模式 post:

const postSchema = new mongoose.Schema({
    title: {
        type: String,
        required: true,
        unique: true
    },

    body: {
        type: String,
        required: true,
        unique: false
    }
})

我想为每个名为 interface 的项目添加一个自定义键,稍后我可以在自动生成的 post 创建页面中使用它。

像这样

const postSchema = new mongoose.Schema({
    title: {
        type: String,
        required: true,
        unique: true,
        interface: '<input type="text" name="title">'
    },
    
    body: {
        type: String,
        required: true,
        unique: false
        interface: '<textarea name="body">...</textarea>'
    }
})

但在使用此 架构 创建 post 并访问后,结果就是这样。

{
  _id: new ObjectId("6151f2bbf678e03c1b2f609c"),
  title: 'a post',
  body: 'body...',
  __v: 0
}

如何访问每个属性的接口密钥?喜欢:post.title.interface

如果我们查看导致错误的行,我们可以看到 JS 认为您正在尝试分配多个字符串,中间有一个随机的未知关键字。 interface: "<input type="text" name="title">"

这些双引号成对出现,使用双引号将打开一个字符串,然后由下一个双引号将其关闭。最简单的解决方法是像这样将整个字符串用单引号括起来。 interface: '"<input type="text" name="title">"'

您可以在 Post class 而不是它的实例上访问它; Post.schema.paths.title.options.interface.