我注意到可以在Mongoose中定义严格/非严格模式(例如Add field not in schema with mongoose),但是我想在两者之间进行设置。
例如,假设以下严格的架构要求:
const schema =
{
email:
{
type: String,
required: true,
unique: true,
lowercase: true,
validate: value => { if (!validator.isEmail(value)) throw new Error('Invalid Email'); }
},
name:
{
type: String,
required: true
}
};
...以及以下发布的输入:
{
"email": "luke@skywalker.com",
"name": "Luke Skywalker",
"age": "32",
"sex": "male",
"hairColour": "blonde"
}
我希望猫鼬将以下内容输出到mongodb:
{
"email": "luke@skywalker.com",
"name": "Luke Skywalker",
"non-compliant":
{
"age": "32",
"sex": "male",
"hairColour": "blonde"
}
}
我不会事先知道非架构字段,因此无法为它们单独编码。在处理任何输入中与架构兼容的字段之后,我基本上只是想把剩下的所有内容都收集起来。