Database
db={"trees":[{_id:1,company_id:1,company_name:"A"},{_id:2,company_id:1,company_name:"A"}],"links":[{_id:1,company_id:1,url:"a"},{_id:2,company_id:2,url:"b"}],"analytics":[{_id:1,tree_id:1,views:10,date:new Date()},{_id:2,link_id:1,clicks:10,date:new Date()},{_id:3,link_id:2,clicks:10,date:new Date()}]}
Query
db.analytics.aggregate([{$lookup:{from:"trees",as:"trees",localField:"tree_id",foreignField:"_id"}},{$lookup:{from:"links",as:"links",localField:"link_id",foreignField:"_id"}},{$unwind:"$trees"},{$group:{_id:"$trees.company_id",views_count:{$sum:"$views"},clicks_count:{$sum:"$clicks"}}}])