SchemaTypeOptions
SchemaTypeOptions()
SchemaTypeOptions.prototype.cast
SchemaTypeOptions.prototype.default
SchemaTypeOptions.prototype.immutable
SchemaTypeOptions.prototype.index
SchemaTypeOptions.prototype.ref
SchemaTypeOptions.prototype.ref
SchemaTypeOptions.prototype.required
SchemaTypeOptions.prototype.select
SchemaTypeOptions.prototype.sparse
SchemaTypeOptions.prototype.text
SchemaTypeOptions.prototype.transform
SchemaTypeOptions.prototype.type
SchemaTypeOptions.prototype.unique
SchemaTypeOptions.prototype.validate
SchemaTypeOptions()
类型
- «constructor»
在 schematype 上定义的选项。
示例
const schema = new Schema({ name: String });
schema.path('name').options instanceof mongoose.SchemaTypeOptions; // true
SchemaTypeOptions.prototype.cast
类型
- «String»
允许覆盖此个别路径的强制转换逻辑。如果为字符串,则给定字符串将覆盖 Mongoose 的默认强制转换错误消息。
示例
const schema = new Schema({
num: {
type: Number,
cast: '{VALUE} is not a valid number'
}
});
// Throws 'CastError: "bad" is not a valid number'
schema.path('num').cast('bad');
const Model = mongoose.model('Test', schema);
const doc = new Model({ num: 'fail' });
const err = doc.validateSync();
err.errors['num']; // 'CastError: "fail" is not a valid number'
SchemaTypeOptions.prototype.default
类型
- «Function|Any»
此路径的默认值。如果为函数,Mongoose 将执行该函数并将返回值用作默认值。
SchemaTypeOptions.prototype.immutable
类型
- «Function|Boolean»
如果 truthy,Mongoose 将在文档首次保存到数据库后禁止更改此路径。有关 Mongoose 中不可变性的更多信息,请点击此处。
SchemaTypeOptions.prototype.index
类型
- «Boolean|Number|Object»
如果 truthy,Mongoose 将在编译模型时在此路径上构建索引。
SchemaTypeOptions.prototype.ref
类型
- «Function|String»
populate()
在填充此路径时应使用的模型。
SchemaTypeOptions.prototype.ref
类型
- «Function|String»
文档中 populate()
应使用以查找要使用的模型的路径。
SchemaTypeOptions.prototype.required
类型
- «Function|Boolean»
如果为 true,则将必需验证器附加到此路径,这将确保无法将此路径设置为空值。如果为函数,Mongoose 将调用该函数,并且仅在该函数返回真值时才检查空值。
SchemaTypeOptions.prototype.select
类型
- «Boolean|Number»
使用 find()
、findOne()
等加载文档时,默认情况下是否包含或排除此路径。
SchemaTypeOptions.prototype.sparse
类型
- «Boolean|Number»
如果 truthy,Mongoose 将在此路径上构建稀疏索引。
SchemaTypeOptions.prototype.text
类型
- «Boolean|Number|Object»
如果 truthy,Mongoose 将在此路径上构建文本索引。
SchemaTypeOptions.prototype.transform
类型
- «Function»
为这个单独的模式类型定义一个转换函数。仅在调用 toJSON()
或 toObject()
时调用。
示例
const schema = Schema({
myDate: {
type: Date,
transform: v => v.getFullYear()
}
});
const Model = mongoose.model('Test', schema);
const doc = new Model({ myDate: new Date('2019/06/01') });
doc.myDate instanceof Date; // true
const res = doc.toObject({ transform: true });
res.myDate; // 2019
SchemaTypeOptions.prototype.type
类型
- «Function|String|Object»
要将此路径强制转换为的类型。
SchemaTypeOptions.prototype.unique
类型
- «Boolean|Number»
如果 truthy,Mongoose 将在编译模型时在此路径上构建唯一索引。 unique
选项不是验证器。
SchemaTypeOptions.prototype.validate
类型
- «Function|Object»
函数或对象,描述如何验证此模式类型。