2016-11-03 3 views
1

У меня есть твиты в базе данных MongoDB. Структура:MongoDB агрегированные твиты - не чувствительны к регистру

{ 
    "_id" : ObjectId("111111111111111111"), 
    //... 
    "entities" : { 
     "hashtags" : [ 
      { 
       "text" : "HASTAG", 
       "indices" : [ 
        25, 
        33 
       ] 
      } 
     ], 
    }, 
} 
{ 
    "_id" : ObjectId("222222222222222222222"), 
    //... 
    "entities" : { 
     "hashtags" : [ 
      { 
       "text" : "hashtag", 
       "indices" : [ 
        25, 
        33 
       ] 
      } 
     ], 
    }, 
} 

Как сгруппировать по индексу hastgas с учетом хэштегов, чувствительных к регистру?

db.getCollection('tweets').aggregate(
    { '$unwind': '$entities.hashtags'}, 
    { '$group': { '_id': '$entities.hashtags.text', 'tagCount' : {'$sum' : 1} } } , 
    { '$sort': {'tagCount': -1 } } 
) 

Этот пример в порядке, чувствительный к бутону. Как сделать это не чувствительным к регистру?

Благодаря

ответ

1

Мы считаем, что слишком много, но решение иногда очень легко и мало. "_id": { "$toLower": "$entities.hashtags.text" }