MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

сортиране по дължина на низа в Mongodb/pymongo

Има много неща (и основен API), които аз лично бих обичал за да видите в рамката за агрегиране, като например:

Математически функции

  • log (както в логаритъм)
  • таван
  • под

Масив

  • сума

Стринг

  • дължина

Само да назовем няколко.

И това е без да се прибягва до неясни употреби на $mod оператор или други средства в такива случаи като "таван" и "под". Но аз се отклонявам.

Вашата "дължина на низа" попада в тази категория. Повдигнете проблем с JIRA за това. Но засега можете да използвате mapReduce и съществуващата функционалност на JavaScript:

db.collection.mapReduce(
    function() {
        emit( this.item.length, this.item );
    },
    function(key,values) {
        return values;
    },
    { "out": { "inline": 1 } }
)

Така че, докато това всъщност има фънки стил „mapReduce“ за връщане на повторно оформен документ и разбира се, че всичко съответства на същата дължина в масива, това, което прави, е да се възползва от естеството на „mapReduce“ (не само ограничено към MongoDB ) и позволява излъчената стойност на „ключ“ да бъде сортирана в отговора.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Разлика между count() и find().count() в MongoDB

  2. Задайте дата по подразбиране при вмъкване на документ с полето time.Time

  3. Заявката Mongoose/mongoDB се присъединява.. но идвам от sql фон

  4. MongoDB $atanh

  5. Монгокли поддържа ли URL на формула за Apple M1 чипове?