Не могли бы вы подтвердить правильный запрос, чтобы перечислить 20 наиболее часто используемых хэштегов и количество чисел, которые они использовали в коллекции твитов MongoDB под названием "твиты"?
Каждый документ в коллекции представляет твит.
Пожалуйста, найдите один из документов (твитов) в формате JSON здесь
Я попробовал следующий запрос:
db.tweets.aggregate([
{
$unwind: "$entities.hashtags"},
{"$group" : {_id:"$entities.hashtags", count:{$sum:1}}},
{ $sort : { count : -1 } },
{ $limit : 20 }
])
Размотка используется для разделения документов, имеющих несколько хэштегов.
Вывод кажется близким:
/* 1 */
{
"_id" : {
"text" : "PrevenciónEsSalud",
"indices" : [
0,
18
]
},
"count" : 118.0
}
/* 2 */
{
"_id" : {
"text" : "DYK",
"indices" : [
0,
4
]
},
"count" : 112.0
}
/* 3 */
{
"_id" : {
"text" : "ActivadosPorLaSalud",
"indices" : [
0,
20
]
},
"count" : 45.0
}
/* 4 */
{
"_id" : {
"text" : "COVID19",
"indices" : [
15,
23
]
},
"count" : 43.0
}
/* 5 */
{
"_id" : {
"text" : "HelloMyNameIs",
"indices" : [
9,
23
]
},
"count" : 41.0
}
/* 6 */
{
"_id" : {
"text" : "Quito",
"indices" : [
15,
21
]
},
"count" : 40.0
}
/* 7 */
{
"_id" : {
"text" : "LoMásLeído",
"indices" : [
20,
31
]
},
"count" : 40.0
}
/* 8 */
{
"_id" : {
"text" : "COVID19",
"indices" : [
18,
26
]
},
"count" : 39.0
}
/* 9 */
{
"_id" : {
"text" : "COVID19",
"indices" : [
0,
8
]
},
"count" : 38.0
}
/* 10 */
{
"_id" : {
"text" : "PrevenciónGripe",
"indices" : [
0,
16
]
},
"count" : 37.0
}
/* 11 */
{
"_id" : {
"text" : "COVID19",
"indices" : [
21,
29
]
},
"count" : 36.0
}
/* 12 */
{
"_id" : {
"text" : "COVID19",
"indices" : [
128,
136
]
},
"count" : 36.0
}
/* 13 */
{
"_id" : {
"text" : "COVID19",
"indices" : [
40,
48
]
},
"count" : 35.0
}
/* 14 */
{
"_id" : {
"text" : "QuédateEnCasa",
"indices" : [
0,
14
]
},
"count" : 35.0
}
/* 15 */
{
"_id" : {
"text" : "ICYMI",
"indices" : [
0,
6
]
},
"count" : 35.0
}
/* 16 */
{
"_id" : {
"text" : "NosCuidamosTodos",
"indices" : [
0,
17
]
},
"count" : 34.0
}
/* 17 */
{
"_id" : {
"text" : "JuntosEcuador",
"indices" : [
0,
14
]
},
"count" : 34.0
}
/* 18 */
{
"_id" : {
"text" : "COVID19",
"indices" : [
24,
32
]
},
"count" : 31.0
}
/* 19 */
{
"_id" : {
"text" : "EsteVirusLoParamosUnidos",
"indices" : [
0,
25
]
},
"count" : 28.0
}
/* 20 */
{
"_id" : {
"text" : "COVID19",
"indices" : [
23,
31
]
},
"count" : 28.0
}
Однако желаемый результат состоит в том, чтобы иметь столбец для хэштега и еще один для считайте, только для 20 самых повторных хэштегов.
Буду признателен за помощь в получении 20 самых популярных хэштегов из этой коллекции.
Спасибо.