Мангуст - решение сложной проверки, которая зависит от других моделей - PullRequest
0 голосов
/ 31 декабря 2018

Проверка достоверности изолированных данных довольно проста с чем-то вроде joi.Но каков хороший способ решить проверку, которая зависит от других моделей, например, с учетом следующей коллекции:

items:

[
  {_id: ".....", title: "Product 1", in_stock: 3},
  {_id: ".....", title: "Product 2", in_stock: 10},
....
]

И запрос "order", такой как:

{
items:[
{_id: "....", quantity: 3},
{_id: "....", quantity: 6},
...
]
}

Теперь я хочу убедиться, что все позиции в запросе на заказ есть в наличии (количество <= in_stock соответствующего товара).Что было бы хорошим способом решения этой проблемы? </p>

1 Ответ

0 голосов
/ 01 января 2019

Я сам столкнулся с той же проблемой. Самое простое решение - использовать встроенный механизм валидации mongoose, чтобы вам не нужно было создавать множество схем в вашем приложении. Это фактически делает его менее надежным, и код становится фактическиprettry трудно поддерживать по мере роста

Joi рекомендуется, когда вы используете механизм подключения к БД сервера, такой как mongojs, потому что у него нет надлежащего механизма проверки

mongoose с другой стороны довольнобыстрая и надежная оболочка mongoDb, которая поставляется со всеми возможными CRUD, индексными агрегациями и созданием схемы. (Вы можете просто интегрировать свои валидации с помощью валидаций mongoose и сделать свою схему центрированной и сделать свой код менее избыточным

Использовать валидатор mongooseи создайте функцию с помощью регулярных выражений для проверки белого списка, а затем выдайте ошибку en, если пользовательский ввод не соответствует тому, что вы заставляете их

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