Как получить средний рейтинг из массива с объектами. Mongoose?

Чтобы получить средний рейтинг из массива с объектами в MongoDB с использованием Mongoose, вам необходимо выполнить следующие шаги:

1. Определите схему вашей модели данных и модель с использованием Mongoose.

const mongoose = require('mongoose');

const ratingSchema = new mongoose.Schema({
  value: { type: Number, required: true },
});

const Rating = mongoose.model('Rating', ratingSchema);

2. Определите, что один из ваших объектов может содержать массив рейтингов, используя встраивание схемы рейтинга в основную схему модели.

const productSchema = new mongoose.Schema({
  name: { type: String, required: true },
  ratings: [ratingSchema],
});

const Product = mongoose.model('Product', productSchema);

3. Получите объекты из базы данных и вычислите средний рейтинг.

Product.findOne({ name: 'Название продукта' })
  .then((product) => {
    const ratings = product.ratings;
    const total = ratings.reduce((sum, rating) => sum + rating.value, 0);
    const average = total / ratings.length;
    console.log(`Средний рейтинг: ${average}`);
  })
  .catch((error) => {
    console.error(error);
  });

Выполняя эти шаги, вы сможете получить средний рейтинг из массива с объектами в MongoDB с использованием Mongoose.