Nie możesz odwoływać się do $Comments.Rating
ponieważ komentarze znajdują się w oddzielnym zbiorze, a dokumentacja produktu zawiera tylko odniesienie do nich.
Zamiast tego musisz emulować połączenie, wykonując kilka kroków:
// 1. Get the product's Comments array of comment ids.
Product.findOne(id, 'Comments', function(err, product) {
// 2. Filter Comments to just those in product.Comments and average the Rating
Comments.aggregate([
{$match: {_id: {$in: product.Comments}}},
{$group: {_id: product._id, average: {$avg: '$Rating'}}}
], function (err, result) {...});
});