Я получаю этот вывод:
Сортировка по внутреннему массиву не работает.У меня есть две таблицы, как показано ниже.
Схема страниц такая:
const PageSchema = new Schema({
name: {
type: String,
required: true
},
created: {
type: Date
},
position: {
type: Number,
default: 0
}
});
module.exports = mongoose.model('pages', PageSchema);
Схема контейнера такая:
const ContainerSchema = new Schema({
filename: {
type: String,
required: true
},pageId: {
type: Schema.Types.ObjectId,
ref: 'pages'
},
created: {
type: Date
}
});
Для сортировки данных яиспользовал этот код:
Container.aggregate(match, {
"$group": {
"_id": {
"pageId": "$pageId",
"id": "$_id",
"filename": "$filename",
"position": "$position"
},
"containerCount": {
"$sum": 1
}
}
}, {
"$group": {
"_id": "$_id.pageId",
"container": {
"$push": {
"_id": "$_id.id",
"filename": "$_id.filename",
},
},
"position": {
"$first": "$_id.pageId.position"
}
"count": {
"$sum": "$containerCount"
}
}
}, {
"$project": {
"container": 1,
"count": 1
}
}, {
"$sort": {
"position": 1
}
}).exec()
Я хочу отсортировать данные в соответствии с полем позиции на страницах, но он не работает.