我正在尝试使用动态密钥验证哈希对象,但是一致的类型值。首先,在Mongoosejs中有一种简单的方法(如内置模式类型)?
在阅读了大部分文档(或忽略它们)之后,我开始假设没有使用自定义验证SchemaType:
var _ = require('underscore/lodash');
function validValue( val ){
return _.isString( val.name );
}
function myValidator( obj ){
//assuming hash value
var valid = true;
_.each( value, function( val, key ){
if( ! ((/supercoolkey/i).test( key ) && validValue( val )) )
valid = false;
});
return valid;
}
var MySchema = new Schema({
dynamicKeyHash: {type: Object, validate: [myValidator, 'Invalid hash object']}
});
如果没有简单的方法来测试内置的动态密钥,我怎样才能使我的验证正确拒绝以后保存对象?目前,无论'dynamicKeyHash'键包含什么值,MySchema模型都将保存。