SchemaTypeOptions


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»

函数或对象,描述如何验证此模式类型。