Можете да опитате да прехвърлите списъка с резултати към Mongoose документи и да обвиете резултата в Promise като:
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 );
}))
}
})
))