【发布时间】:2021-02-11 00:06:12
【问题描述】:
我有一个Categories 收藏。还有另一个Videos 集合。每个视频都属于一个类别。
我想列出所有类别以及该类别中的视频数量。 我正在使用聚合来加入两者,并在类别集合中获取所需的字段。从视频集合中,我只需要与集合对应的视频数量。
如何使用聚合来获取总视频关系的大小?
或者我有什么遗漏的吗?
提前致谢
编辑:
关系基本上是,在每个视频中都有对应于类别的category_id
【问题讨论】:
我有一个Categories 收藏。还有另一个Videos 集合。每个视频都属于一个类别。
我想列出所有类别以及该类别中的视频数量。 我正在使用聚合来加入两者,并在类别集合中获取所需的字段。从视频集合中,我只需要与集合对应的视频数量。
如何使用聚合来获取总视频关系的大小?
或者我有什么遗漏的吗?
提前致谢
编辑:
关系基本上是,在每个视频中都有对应于类别的category_id
【问题讨论】:
我得到了答案,
您可以使用 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' },
},
},
])
【讨论】: