我想在每次添加/更新记录之前添加动态字段到Mongoose Schema。因此,我将字段定义到单独的JSON文件中,并希望每次都动态地将相同的JSON字段添加到Mongoose模式中。这可能吗?怎么做?
示例:
const blogSchema = new Schema({
title: String, // String is shorthand for {type: String}
body: String,
});
let dynamicfields=[
author: String,
comments: [{ body: String, date: Date }],
date: { type: Date, default: Date.now },
hidden: Boolean,
]
如何每次都添加dynamicFields到schema ?
您可以简单地使用strict使您的模式自由,或者您可以使用Mixed
。
它不会让你的动态值保存到你的数据库。
const blogSchema = new Schema({
title: String, // String is shorthand for {type: String}
body: String
},
{
strict: false
});
使用Mixed
:
let schema = new Schema({
title: String, // String is shorthand for {type: String}
body: String
metaData: Schema.Types.Mixed
})
这里可以保存动态值到元数据。