bI\'m declaring a virtual that I want to appear as part of the results of its schema\'s queries, but it\'s not showing up when I do a console.log on the object. Here\'s the
I ended up here doing something really silly. I was using Doc.find instead of Doc.findOne and so I was trying to access the virtual on the document array instead of on the document itself.
My mistake was not including the needed fields in the query. If they are not selected in projection, then mongoose does not knows how to combine/calculate the virtual field.
Because you're using JSON.stringify in your console.log call, that invokes the toJSON method on the model instance, not toObject.
So either omit the JSON.stringify in your call:
console.log(results[0]);
Or set the toJSON option on the schema like you're currently setting the toObject option.
...
{
toObject: { virtuals: true },
toJSON: { virtuals: true }
});