SchemaTypeOptions
SchemaTypeOptions()
Тип:
- «конструктор»
Параметры, определённые для типа схемы.
Пример:
const schema = new Schema({ name: String });
schema.path('name').options instanceof mongoose.SchemaTypeOptions; // true
SchemaTypeOptions.prototype.cast
Тип:
- «Строка»
Позволяет переопределить логику преобразования для данного пути. Если строка, данная строка переписывает стандартное сообщение об ошибке преобразования 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
Тип:
- «Функция|Любой тип»
Значение по умолчанию для этого пути. Если функция, Mongoose выполняет функцию и использует возвращаемое значение в качестве значения по умолчанию.
SchemaTypeOptions.prototype.immutable
Тип:
- «Функция|Булево значение»
Если истинно, Mongoose запретит изменения этому пути после первого сохранения документа в базе данных. Подробнее об иммутабельности в Mongoose.
SchemaTypeOptions.prototype.index
Тип:
- «Булево значение|Число|Объект»
Если истинно, Mongoose создаст индекс по этому пути при компиляции модели.
SchemaTypeOptions.prototype.ref
Тип:
- «Функция|Строка»
Модель, которую populate() должен использовать для заполнения этого пути.
SchemaTypeOptions.prototype.ref
Тип:
- «Функция|Строка»
Путь в документе, который populate() должен использовать для поиска модели.
SchemaTypeOptions.prototype.required
Тип:
- «Функция|Булево значение»
Если true, добавляет валидатор обязательности к этому пути, который гарантирует, что этот путь не может быть установлен в значение null или undefined. Если функция, Mongoose вызывает функцию и проверяет только значения null и undefined, если функция возвращает истинное значение.
SchemaTypeOptions.prototype.select
Тип:
- «Булево значение|Число»
Включать или исключать этот путь по умолчанию при загрузке документов с помощью find(), findOne(), и т.д.
SchemaTypeOptions.prototype.sparse
Тип:
- «Булево значение|Число»
Если истинно, Mongoose создаст разреженный индекс по этому пути.
SchemaTypeOptions.prototype.text
Тип:
- «Булево значение|Число|Объект»
Если истинно, Mongoose создаст индекс типа «полный текст» по этому пути.
SchemaTypeOptions.prototype.transform
Тип:
- «Функция»
Определяет функцию преобразования для данного типа схемы. Вызывается только при вызове 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
Тип:
- «Функция|Строка|Объект»
Тип, к которому необходимо преобразовать этот путь.
SchemaTypeOptions.prototype.unique
Тип:
- «Булево значение|Число»
Если истинно, Mongoose создаст уникальный индекс по этому пути при компиляции модели. Параметр unique не является валидатором.
SchemaTypeOptions.prototype.validate
Тип:
- «Функция|Объект»
Функция или объект, описывающий, как валидировать этот тип схемы.
© 2010 LearnBoost
Licensed under the MIT License.
https://mongoosejs.com/docs/api/schematypeoptions.html