如何将自定义键添加到 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
.
我有一个简单的 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
.