kolla dig från klausul, är det ditt samlingsnamn? Jag använde schemanamn istället för samlingsnamnet vilket resulterar i tomt resultat.
{$lookup:
{
from: 'classes', //check this
localField: 'owner',//**String**
foreignField: '_id', //**ObjectId**
as: 'classes'
}
}