Можно, например, воспользоваться таким инструментом MongoDB, как
Aggregation Pipeline. Сложно предложить конкретное решение, не имея описания всей модели, но как примерный вариант могу предоложить следующее. Сначала сделать unwind вашего массива, затем сделать group по комментарию с введением дополнительного поля, который будет являться средним значением поля rating для элементов этого массива, а потом еще один group, уже для всех комментариев, где будет введено еще одно поле со средним значением того поля, которое вводилось ранее. По ссылке, которую я оставил выше есть подробное описание тех операций, которые я предложил, а mongoose поддерживает aggregation pipeline.