错误


Error()

参数
  • msg «String» 错误消息

类型
  • «constructor»
继承

MongooseError 构造函数。MongooseError 是所有 Mongoose 特定错误的基类。

示例

const Model = mongoose.model('Test', new mongoose.Schema({ answer: Number }));
const doc = new Model({ answer: 'not a number' });
const err = doc.validateSync();

err instanceof mongoose.Error.ValidationError; // true

Error.CastError

类型
  • «property»

当 Mongoose 无法将值转换为类型时,将返回此错误类的实例。


Error.DivergentArrayError

类型
  • «property»

如果您使用数组投影,然后以不安全的方式修改数组,将返回此错误的实例。


Error.DocumentNotFoundError

类型
  • «property»

save() 失败因为底层文档未找到时,将返回此错误类的实例。构造函数接受一个参数,即 Mongoose 在尝试更新文档时传递给 updateOne() 的条件。


Error.MissingSchemaError

类型
  • «property»

当您尝试访问尚未注册的模型时抛出。


Error.MongooseServerSelectionError

类型
  • «property»

当 MongoDB Node 驱动程序无法连接到有效服务器以发送操作时抛出。


Error.OverwriteModelError

类型
  • «property»

当在连接上已经注册了具有给定名称的模型时抛出。参见 关于 OverwriteModelError 的常见问题解答


Error.ParallelSaveError

类型
  • «property»

当您在同一文档上并行多次调用 save() 时,将返回此错误类的实例。有关更多信息,请参阅 常见问题解答


Error.StrictModeError

类型
  • «property»

当您尝试将未在模式中指定的值传递给模型构造函数或在 strict 模式为 "throw" 时更改不可变属性时抛出。


Error.StrictPopulateError

类型
  • «property»

当 Mongoose 无法填充不存在的路径时,将返回此错误类的实例。


Error.ValidationError

类型
  • «property»

验证 失败时,将返回此错误类的实例。errors 属性包含一个对象,其键是失败的路径,其值是 CastError 或 ValidationError 的实例。


Error.ValidatorError

类型
  • «property»

ValidationError 有一个 errors 哈希,它包含单独的 ValidatorError 实例。

示例

const schema = Schema({ name: { type: String, required: true } });
const Model = mongoose.model('Test', schema);
const doc = new Model({});

// Top-level error is a ValidationError, **not** a ValidatorError
const err = doc.validateSync();
err instanceof mongoose.Error.ValidationError; // true

// A ValidationError `err` has 0 or more ValidatorErrors keyed by the
// path in the `err.errors` property.
err.errors['name'] instanceof mongoose.Error.ValidatorError;

err.errors['name'].kind; // 'required'
err.errors['name'].path; // 'name'
err.errors['name'].value; // undefined

ValidatorError 实例具有以下属性

  • kind: 验证器的 type,例如 'required''regexp'
  • path: 失败验证的路径
  • value: 失败验证的值

Error.VersionError

类型
  • «property»

当您在数据库中的文档以潜在不安全的方式更改后调用 save() 时,将返回此错误类的实例。有关更多信息,请参阅 versionKey 选项


Error.messages

类型
  • «property»
参见

默认内置的验证器错误消息。


Error.prototype.name

类型
  • «String»

错误的名称。名称唯一标识此 Mongoose 错误。可能的取值为

  • MongooseError: 一般 Mongoose 错误
  • CastError: Mongoose 无法将值转换为模式路径中定义的类型。可能位于 ValidationError 类中的 errors 属性中。
  • DivergentArrayError: 您尝试 save() 一个数组,该数组在您使用 $elemMatch 或类似投影加载它后被修改了。
  • MissingSchemaError: 您尝试使用 mongoose.model() 访问未定义的模型。
  • DocumentNotFoundError: 您尝试 save() 的文档未找到。
  • ValidatorError: 来自单个模式路径验证器的错误
  • ValidationError: 从 validate()validateSync() 返回的错误。在 .errors 属性中包含零个或多个 ValidatorError 实例。
  • MissingSchemaError: 您在没有模式的情况下调用了 mongoose.Document()
  • ObjectExpectedError: 当您使用 设置严格模式 将嵌套路径设置为非对象值时抛出。
  • ObjectParameterError: 当您将非对象值传递给期望对象作为参数的函数时抛出。
  • OverwriteModelError: 当您调用 mongoose.model() 重新定义已经定义的模型时抛出。
  • ParallelSaveError: 当您在同一个文档实例正在保存时,对文档调用 save() 时抛出。
  • StrictModeError: 当您设置不在模式中的路径并且 严格模式 设置为 throw 时抛出。
  • VersionError: 当 文档不同步 时抛出。