Я новичок в использовании рамок агрегации MongoDB и здесь у меня ниже схемы:MongoDB совокупной группы по категориям
var bookSoldSchema = new Schema({
buyer:{
type: Number
}
book: {
type: Schema.Types.ObjectId, ref: 'Book'
}
});
var bookSchema = new Schema({
bookName: { type: String },
categories: [{ type: Schema.Types.ObjectId, ref: 'BookCategory'}],
})
Каждая книга имеет несколько категорий, я хотел бы показать топ-5 лучших продавец категории и каждый категория мне нужно показать первые 3 книги, где продавались больше всего, и я также должен показать название категории, результаты которых мне нужно это:
[
{
categoryId: xxx,
categoryName:xxx,
top3books:[
{bookId:xxx, bookName:xxx},
{bookId:xxx, bookName:xxx},
{bookId:xxx, bookName:xxx},
]
},
{
categoryId: xxx,
categoryName:xxx,
top3books:[
{bookId:xxx, bookName:xxx},
{bookId:xxx, bookName:xxx},
{bookId:xxx, bookName:xxx},
]
}
]
Как я могу идти об этом в MongoDB?
Не могли бы вы добавить образец документ для тестирования? – notionquest