Я использую пакет waterline v0.13.5 с expressjs.
Я получаю пользовательскую ошибку { userError: The attribute 'str' on the 'action' model contains invalid properties. The property 'minLength' isn't a recognized property.
при попытке использовать min, max (с типом числа) и minLength, maxLength(со строковым типом).
Этот же тип ошибки также получен со свойством isIn
, когда используется как "isIn": [1,2,3]
.
autoPK: true
также не работает должным образом.Это заставляет меня определять _id в определении атрибутов модели и ключ primaryKey в параметрах определения расширения.
Я также не могу получить функцию валидатора types
, запускаемую в целом.Функция isStringType
не запускается при входе в mongodb.
Но в документации для паруса v1.0 сказано, что это можно сделать.Эта ошибка возникает, когда я пытаюсь расширить / создать модель с помощью функции Waterline.Collection.extend
.Я могу указать вручную минимальное и максимальное значения, но хочу сохранить его динамическим для различных свойств атрибутов.Так что это не жизнеспособный вариант.
waterline.registerModel(Waterline.Collection.extend({
identity: 'action',
datastore: 'recAuth',
schema: true,
tableName: 'action',
autoPK: true,
primaryKey: '_id',
types: {
isStringType: function (v) {
console.log('String validator triggered');
return typeof v === 'string';
}
},
attributes: {
"_id": {
"type": "string"
},
"str": {
"type": "string",
"required": true,
"minLength": 12,
"isStringType": true
}
}
}));