Spec-Zone.ru › Mongoose

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API