Чтобы получить средний рейтинг из массива с объектами в 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.