У меня есть конвейер агрегации 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);