我有一个Categories
收藏。还有另一个Videos
集合。每个视频都属于一个类别。
我想列出所有类别以及该类别中的视频数量。 我正在使用聚合将两者结合在一起,并在类别集合中获取必填字段。从视频收藏集中,我只需要与该收藏对应的视频数量即可。
如何使用汇总来获取视频总数的大小关系?
或者我有什么想念的?
预先感谢
编辑:
关系基本上是,每个视频中都有category_id
对应于类别
答案 0 :(得分:0)
我得到了答案,
您可以将aggregate
与lookup
和project
一起使用以获取结果
await this.categories
.aggregate([
{
$match: filter,
},
{
$lookup: {
from: 'resources',
localField: '_id',
foreignField: '_category_id',
as: 'videos',
},
},
{
$project: {
name: '$name',
count: { $size: '$videos' },
},
},
])