MongooseError constructor. MongooseError is the base class for all Mongoose-specific errors.
const Model = mongoose.model('Test', new Schema({ answer: Number }));
const doc = new Model({ answer: 'not a number' });
const err = doc.validateSync();
err instanceof mongoose.Error; // true
An instance of this error class will be returned when mongoose failed to cast a value.
An instance of this error will be returned if you used an array projection and then modified the array in an unsafe way.
An instance of this error class will be returned when save()
fails because the underlying document was not found. The constructor takes one parameter, the conditions that mongoose passed to update()
when trying to update the document.
Thrown when you try to access a model that has not been registered yet
Thrown when a model with the given name was already registered on the connection. See the FAQ about OverwriteModelError
.
An instance of this error class will be returned when you call save()
multiple times on the same document in parallel. See the FAQ for more information.
Thrown when your try to pass values to model contrtuctor that were not specified in schema or change immutable properties when strict
mode is "throw"
An instance of this error class will be returned when validation failed. The errors
property contains an object whose keys are the paths that failed and whose values are instances of CastError or ValidationError.
A ValidationError
has a hash of errors
that contain individual ValidatorError
instances.
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
Instances of ValidatorError
have the following properties:
kind
: The validator's type
, like 'required'
or 'regexp'
path
: The path that failed validationvalue
: The value that failed validationAn instance of this error class will be returned when you call save()
after the document in the database was changed in a potentially unsafe way. See the versionKey
option for more information.
The default built-in validator error messages.
The name of the error. The name uniquely identifies this Mongoose error. The possible values are:
MongooseError
: general Mongoose errorCastError
: Mongoose could not convert a value to the type defined in the schema path. May be in a ValidationError
class' errors
property.DisconnectedError
: This connection timed out in trying to reconnect to MongoDB and will not successfully reconnect to MongoDB unless you explicitly reconnect.DivergentArrayError
: You attempted to save()
an array that was modified after you loaded it with a $elemMatch
or similar projectionMissingSchemaError
: You tried to access a model with mongoose.model()
that was not definedDocumentNotFoundError
: The document you tried to save()
was not foundValidatorError
: error from an individual schema path's validatorValidationError
: error returned from validate()
or validateSync()
. Contains zero or more ValidatorError
instances in .errors
property.MissingSchemaError
: You called mongoose.Document()
without a schemaObjectExpectedError
: Thrown when you set a nested path to a non-object value with strict mode set.ObjectParameterError
: Thrown when you pass a non-object value to a function which expects an object as a paramterOverwriteModelError
: Thrown when you call mongoose.model()
to re-define a model that was already defined.ParallelSaveError
: Thrown when you call save()
on a document when the same document instance is already saving.StrictModeError
: Thrown when you set a path that isn't the schema and strict mode is set to throw
.VersionError
: Thrown when the document is out of sync
© 2010 LearnBoost
Licensed under the MIT License.
https://mongoosejs.com/docs/api/error.html