【发布时间】:2019-09-15 08:10:26
【问题描述】:
我有一个由 match 和 bucket 组成的 mongodb 聚合管道。匹配只指定要分桶的文档类型,然后桶根据时间戳对文档进行分箱。我遇到的问题是结果都没有(时间)顺序。 type 有升序索引,data.tod 有降序索引。
我尝试在两个阶段之间添加一个排序阶段,但似乎忽略了它。 {$sort:{'data.tod':-1}}
接下来我在桶{$sort:{T:-1}}之后尝试了一个排序,这对输出也没有影响。
let cursor = self.collection.aggregate([
{
$match: {
type: 'image',
}
},{
$bucket: {
groupBy: '$data.tod',
boundaries: boundsObj.array,
default: 'ungrouped',
output: {
'data': {$addToSet:{
T: '$data.tod',
SDN: '$data.shortDirName'
}
}
}
}
}],null);
【问题讨论】:
标签: node.js mongodb mongodb-query aggregation-framework