У меня есть схема Mongoose, где одно из свойств определяется следующим образом:
// Partially removed for brevity.
const recommendationsSchema = new mongoose.Schema({
ratings: [{ category: String, rating: Number }],
}, {
timestamps: true
});
И теперь я хочу получить общее количество записей в моей коллекции, а также среднее значение для оценок.Но я хочу получить среднее значение только для рейтингов, где поле category
равно total
.Так что-то вроде { category: 'total' }
.
Я пытался сделать что-то вроде этого, но, похоже, не работает:
[
{
$count: "total_count",
$group: {
avg: { $avg: $ratings.rating }
}
}
]
Поле count
, кажется, возвращает общее количество записей вколлекция, которая хороша и чего я хочу.Но как я могу получить среднее значение рейтинга, где { category: 'total' }
?Итак, я просто хочу вернуть два поля, total_count
и average
.Есть идеи, как этого добиться в Mongoose?