U kunt proberen de resultatenlijst naar Mongoose-documenten te casten en het resultaat in een belofte te verpakken als:
Company.aggregate(pipeline).exec((err, result) =>
(
new Promise((resolve, reject) => {
if (err) {
reject(err)
} else {
resolve(result.map(doc => {
delete doc.company_users;
return new Company( doc );
}))
}
})
))