聚合阶段如下:
[
{ $match: { ...someFilters } },
{ $sort: { createdOn: -1 } },
{
$bucket: {
groupBy: $somePropertyInDoc,
output: {
DO_SOMETHING_TO_PICK_FIRST_DOC_IN_THE_BUCKET
}
}
}
]
我假设桶是基于output属性中指定的内容进行转换的文档数组。
是否有办法从每个桶中选择/输出第一个文档?
输出字段接受累加运算符,因此您可以使用$first
:
{$bucket:{
...
output: {document: {$first:"$$ROOT"}}
...
}}
游乐场