有没有办法让对象的模式具有String类型的所有元素? 例如:
Station.Identification
答案 0 :(得分:0)
我不知道有一项功能允许您将schema的任何属性定义为字符串。
您可以使用Mixed
类型执行某些操作,该类型允许任何内容validation。
const mixed = new Schema({
strings: {
type: Mixed,
validate: {
validator: function(obj) {
if ( typeof obj !== 'object' ) throw new Error('Strings requires an object')
for ( let key of obj ){
if ( typeof obj[key] !== 'string' ) {
throw new Error(`String "${key}" is not a string: ${typeof obj[key]}`)
}
}
return true
},
message: "{VALUE} is not an object with all string properties.
}
})
如果您可以使用对象中的附加级别并使用mongoose ^ 5来抛出自定义错误。