Facebook Pixel
Mongoose Models Interview Questions and Answers

How do you handle async errors with Mongoose?

The answer

Wrap async handlers with asyncHandler that catches promise rejections and calls next(err). Catch duplicate key errors (err.code === 11000) and return 409. Catch ValidationError and return 400 with field list.

More FAQs in Mongoose Models Interview Questions and Answers

A schema defines the shape of a document (fields, types, validation). A model is a constructor compiled from a schema; it is what you use to query the database. Schema is the blueprint; model is the database interface.

Use a pre('save') hook. Check this.isModified('passwordHash'). If yes, hash with bcrypt. Mark the field with select: false so it is not returned by default. This keeps hashing logic close to the data.

Add a unique index on the field. Catch err.code === 11000 in your handler and return 409 with a clear message. The unique index enforces uniqueness; the catch gives clean UX instead of a 500.

Still have questions?

Browse all our FAQs or reach out to our support team

Want to upskill yourself?

Your learning library

Small steps. Big possibilities.

Find your next course. Build something great.

Our courses are taking a Coffee break, but your curiosity shouldn't. Stay engaged with namastedev linkedin, youtube, discord and other resources while you wait.

0
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.