According to the documentation there is an optional options object (say that 10x fast) when creating a new virtual path:
http://mongoosejs.com/docs/api.html#schema_Schema-virtual
What are the valid options for virtual paths? Are the similar to real path options?
I have been digging around trying to see if it is possible to do something akin to '{select: false}' with real paths for excluding virtual paths from the returned object unless explicitly asked for. I have tried to pass '{select: false}' as the optional options object but Mongoose doesn't seem to respect it if it is allowed.