Mongoose virtual fields included in toJSON by default: schemaOptions.toJSON.virtuals = true; still doesn't include virtual fields by default
For me it worked only after adding getters: true
to schema options, as mentioned in mongoose docs, i.e.
var schemaOptions = { toObject: { getters: true }, toJSON: { getters: true }};