【发布时间】:2018-12-01 21:00:15
【问题描述】:
我有一个 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 中实现这一目标?
【问题讨论】:
标签: mongodb mongoose mongodb-query aggregation-framework