Можно ли указать тип элементов в массиве с помощью Javascript? - PullRequest
0 голосов
/ 13 октября 2019

Я кодирую restAPI с помощью javascript, используя mongoose в первый раз. В моей модели мне нужно иметь массив, содержащий объекты специального класса. Тем не менее, каждый синтакс, который я пробовал (например, Array), кажется, производит ошибки. Кроме того, я пока ничего не нашел по этой теме. Так что мне интересно, возможно ли даже с помощью JS указать тип элементов массива. Это? Что такое правильный синтакс?


const MySchema = new Schema({
        [...],
        something: {
            type: Array<TheSpecificClass>
        },
        [...]
});

По сути, я ожидаю заполнить этот массив ТОЛЬКО объектами нужного мне класса.

1 Ответ

0 голосов
/ 13 октября 2019

Вы можете использовать пользовательскую функцию проверки:

https://mongoosejs.com/docs/api.html#schematype_SchemaType-validate

Здесь вы можете проверить цепочку прототипов и посмотреть, найдете ли вы класс в конструкторе с объектом. proto .constructor:

enter image description here

Альтернативой является использование промежуточного программного обеспечения перед сохранением и сброс экземпляра, если он неправильного типа!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...