是否有可能为Mongoose SchemaTypes禁用自动types转换?

对于具有此架构的模型…

{ name: { type: String } }

…以下内容自动将提供的值转换为string,而不是强制执行types:

document.name = 2; document.validate(err => { // Err is null, document.name === '2' })

有没有简单的方法来禁用这种行为?

那么这里呢

 var numberSchema = new Schema({ integerOnly: { type: Number, get: v => Math.round(v), set: v => Math.round(v), alias: 'i' } }); var Number = mongoose.model('Number', numberSchema); var doc = new Number(); doc.integerOnly = 2.001; doc.integerOnly; // 2 doc.i; // 2 doc.i = 3.001; doc.integerOnly; // 3 doc.i; // 3 

你可以尝试像这样的东西:

 set: (v) => { if (typeof v !== 'string') throw new Error('zdokd'); return v; },