我有下面的聚合,我正在测试按类别将文档分组,并将每个组的结果限制为N,在这个示例中为20,因为我想总共有100个结果,我有5个类别。mongo查询和切片N值
100值将保持不变,但万一类别数可能会改变,而不是硬编码整数我想知道它是否可以计算? slice
documentation说N can be any expression as long as it resolves to an integer
但不知道如何用更像100/category_count
的东西替代20?
{
$sort: {
created_at: 1
}
}, {
$group: {
_id: {
category: "$category",
created_at: "$created_at",
video_id: "$video_id"
}
}
}, {
$group: {
_id: "$_id.category",
items: {
$push: {
created_at: "$_id.created_at",
video_id: "$_id.video_id"
}
}
}
}, {
$project: {
items: {
$slice: ["$items", 0, 20]
}
}
}
感谢 FLO
什么是“category_count”?这是一个计算字段的名字吗? – styvane