Заставить мангуста бросить, если парам найти не объект - PullRequest
0 голосов
/ 10 декабря 2018

Есть ли способ заставить mongoose выдать ошибку, если conditions для запроса find не Object, а Number или String?

Ответы [ 2 ]

0 голосов
/ 11 декабря 2018

Вы можете использовать крючок мангуста pre для этого случая

Model.pre('find', function () {
  if (typeof(this.getQuery()) !== "object") {
    next();
  } else {
    next(new Error('Your error message'))
  }
});
0 голосов
/ 11 декабря 2018

Лучше проверить все условия и проверить параметры запроса.Заставлять Монго БД выдавать ошибку не является хорошей практикой.Монго запросы исключают объект

let queryCondition = {};
queryCondition._id = "mongoDbId"
queryCondition.name = "anyName"

if(typeof(queryCondition) !== "object") return false

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