如果找到参数不是对象,则强制猫鼬抛出

时间:2018-12-10 15:28:52

标签: mongoose

如果mongoose查询的conditions不是find而是Object或{ {1}}?

2 个答案:

答案 0 :(得分:0)

最好检查所有条件并验证请求参数。 强迫mongo db抛出错误不是一个好习惯。 Mongo查询对象除外

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

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

Model.find(queryCondition).lean();

答案 1 :(得分:0)

在这种情况下,您可以使用猫鼬pre钩子

Model.pre('find', function () {
  if (typeof(this.getQuery()) !== "object") {
    next();
  } else {
    next(new Error('Your error message'))
  }
});