Q12: What are Mongoose Virtuals and how do getters and setters work?

Virtuals are document properties that are not persisted to MongoDB database storage. They are computed dynamically at runtime (e.g., combining firstName and lastName into fullName). Getters compute output values, while Setters parse assigned values back into underlying document fields.

Key Takeaways
  • Virtuals consume zero database storage.
  • Enable toJSON: { virtuals: true } options to include virtuals in API JSON payloads.
Knowledge Check

Are Mongoose Virtual attributes stored directly inside MongoDB collection documents?