SchemaNumber
SchemaNumber()
Параметры:
-
key«String» -
options«Object»
Наследует:
Конструктор схемы SchemaType для чисел.
SchemaNumber.checkRequired()
Параметры:
-
fn«Function»
Возвращает:
- «Function»
Тип:
- «property»
Переопределите функцию, используемую валидатором обязательности для проверки, проходит ли строка проверку required.
SchemaNumber.get()
Параметры:
-
getter«Function»
Возвращает:
- «this»
Тип:
- «property»
Прикрепляет метод получения для всех экземпляров чисел.
Пример:
// Make all numbers round down
mongoose.Number.get(function(v) { return Math.floor(v); });
const Model = mongoose.model('Test', new Schema({ test: Number }));
new Model({ test: 3.14 }).test; // 3
SchemaNumber.get()
Параметры:
-
caster«Function»
Возвращает:
- «Function»
Тип:
- «property»
Получить/установить функцию, используемую для преобразования произвольных значений в числа.
Пример:
// Make Mongoose cast empty strings '' to 0 for paths declared as numbers
const original = mongoose.Number.cast();
mongoose.Number.cast(v => {
if (v === '') { return 0; }
return original(v);
});
// Or disable casting entirely
mongoose.Number.cast(false);
SchemaNumber.prototype.checkRequired()
Параметры:
-
value«Any» -
doc«Document»
Возвращает:
- «Boolean»
Проверяет, удовлетворяет ли данное значение валидатору обязательности.
SchemaNumber.prototype.enum()
Параметры:
-
values«Array» допустимые значения -
[message]«String» необязательное пользовательское сообщение об ошибке
Возвращает:
- «SchemaType» this
См.:
Устанавливает валидатор перечисления.
Пример:
const s = new Schema({ n: { type: Number, enum: [1, 2, 3] });
const M = db.model('M', s);
const m = new M({ n: 4 });
await m.save(); // throws validation error
m.n = 3;
await m.save(); // succeeds
SchemaNumber.prototype.max()
Параметры:
-
maximum«Number» число -
[message]«String» необязательное пользовательское сообщение об ошибке
Возвращает:
- «SchemaType» this
См.:
Устанавливает валидатор максимального числа.
Пример:
const s = new Schema({ n: { type: Number, max: 10 })
const M = db.model('M', s)
const m = new M({ n: 11 })
m.save(function (err) {
console.error(err) // validator error
m.n = 10;
m.save() // success
})
// custom error messages
// We can also use the special {MAX} token which will be replaced with the invalid value
const max = [10, 'The value of path `{PATH}` ({VALUE}) exceeds the limit ({MAX}).'];
const schema = new Schema({ n: { type: Number, max: max })
const M = mongoose.model('Measurement', schema);
const s= new M({ n: 4 });
s.validate(function (err) {
console.log(String(err)) // ValidationError: The value of path `n` (4) exceeds the limit (10).
})
SchemaNumber.prototype.min()
Параметры:
-
value«Number» минимальное число -
[message]«String» необязательное пользовательское сообщение об ошибке
Возвращает:
- «SchemaType» this
См.:
Устанавливает валидатор минимального числа.
Пример:
const s = new Schema({ n: { type: Number, min: 10 })
const M = db.model('M', s)
const m = new M({ n: 9 })
m.save(function (err) {
console.error(err) // validator error
m.n = 10;
m.save() // success
})
// custom error messages
// We can also use the special {MIN} token which will be replaced with the invalid value
const min = [10, 'The value of path `{PATH}` ({VALUE}) is beneath the limit ({MIN}).'];
const schema = new Schema({ n: { type: Number, min: min })
const M = mongoose.model('Measurement', schema);
const s= new M({ n: 4 });
s.validate(function (err) {
console.log(String(err)) // ValidationError: The value of path `n` (4) is beneath the limit (10).
})
SchemaNumber.schemaName
Тип:
- «property»
Название типа схемы для защиты от минификаторов, которые искажают имена функций.
SchemaNumber.set()
Параметры:
-
option«String» Опция, для которой нужно установить значение -
value«Any» значение опции
Возвращает:
- «undefined,void»
Тип:
- «property»
Устанавливает значение по умолчанию для всех экземпляров чисел.
Пример:
// Make all numbers have option `min` equal to 0.
mongoose.Schema.Number.set('min', 0);
const Order = mongoose.model('Order', new Schema({ amount: Number }));
new Order({ amount: -10 }).validateSync().errors.amount.message; // Path `amount` must be larger than 0.
© 2010 LearnBoost
Licensed under the MIT License.
https://mongoosejs.com/docs/api/schemanumber.html