0
0
Expressframework~5 mins

Mongoose middleware (pre/post hooks) in Express - Cheat Sheet & Quick Revision

Choose your learning style9 modes available
Recall & Review
beginner
What is Mongoose middleware (pre/post hooks)?
Mongoose middleware are functions that run before (pre) or after (post) certain Mongoose actions like saving or removing data. They let you add extra steps automatically.
Click to reveal answer
beginner
When would you use a pre('save') hook in Mongoose?
Use a pre('save') hook to run code before saving a document, like hashing a password or validating data.
Click to reveal answer
intermediate
What is the difference between pre and post hooks in Mongoose?
Pre hooks run before an action (like saving), so you can modify data or stop the action. Post hooks run after the action, useful for logging or cleanup.
Click to reveal answer
intermediate
How do you define a post hook for the 'remove' action in Mongoose?
You add a post hook by calling schema.post('remove', function(doc) { /* code here */ }); This runs after a document is removed.
Click to reveal answer
intermediate
Can Mongoose middleware hooks be asynchronous? How?
Yes, Mongoose middleware can be async by using async functions or calling next() after async work finishes. This helps wait for tasks like database calls.
Click to reveal answer
Which Mongoose middleware hook runs before saving a document?
Apre('save')
Bpost('save')
Cpre('remove')
Dpost('remove')
What is a common use case for a post('save') hook?
AHashing a password before saving
BValidating data before save
CPreventing save if invalid
DLogging that a document was saved
How do you make a Mongoose middleware function asynchronous?
AOnly use synchronous code
BUse async keyword or call next() after async work
CReturn a promise without async keyword
DUse setTimeout inside the hook
Which hook would you use to run code after a document is deleted?
Apost('remove')
Bpre('delete')
Cpre('save')
Dpost('save')
Can pre hooks prevent an action from completing?
AYes, but only post hooks can do that
BNo, pre hooks only run after the action
CYes, by throwing an error or not calling next()
DNo, hooks cannot affect actions
Explain how Mongoose pre and post middleware hooks work and give an example use case for each.
Think about what you want to do before or after saving or deleting data.
You got /4 concepts.
    Describe how to write an asynchronous pre-save hook in Mongoose and why you might need it.
    Consider tasks that take time, like talking to other services or encrypting data.
    You got /3 concepts.