【发布时间】:2016-08-05 05:45:18
【问题描述】:
我在 json 中有一个书单如下:
{
"_id" : ObjectId("1"),
"author" : [
"Mary",
"Tony"
],
"booktitle" : "Book1",
"Category" : "Children"
}
{
"_id" : ObjectId("2"),
"author" : [
"Joe",
"Tony"
],
"booktitle" : "Book2",
"Category" : "Children"
}
{
"_id" : ObjectId("3"),
"author" : [
"Joe",
],
"booktitle" : "Book3",
"Category" : "comedy"
}
.......
希望出书的前10位作者属于“儿童”。因为有些书不只是一个作者写的。我不知道该怎么做。
鉴于上面的示例,book1 和 book2 属于“儿童”,Tony 写了 2 本书,Mary 和 Joe 写了 1 本书。因此,前 3 名作家的顺序是 Tony、Mary、Joe。
我只是写下:
db.table.find({Category: "Children"}).aggregate({$group:{_id: '', count : {$sum : 1}}}, {$sort: {count : -1}})
但不知道如何编写组部分。谢谢。
【问题讨论】:
标签: mongodb aggregation-framework