MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

sortuj według długości łańcucha w Mongodb/pymongo

Jest wiele rzeczy (i podstawowe API), które osobiście pokochałbym do obejrzenia w ramach agregacji, takich jak:

Funkcje matematyczne

  • log (jak w logarytmie)
  • sufit
  • podłoga

Tablica

  • suma

Ciąg

  • długość

Żeby wymienić tylko kilka.

I to bez uciekania się do niejasnych zastosowań $mod operatora lub inne środki w takich przypadkach jak „sufit” i „podłoga”. Ale mam dygresję.

Twoja „długość struny” należy do tej kategorii. Zgłoś problem dotyczący JIRA. Ale na razie możesz użyć mapReduce i istniejącej funkcjonalności JavaScript:

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

Tak więc, chociaż faktycznie ma to funky styl "mapReduce" zwracania dokumentu o zmienionym kształcie i oczywiście wszystko pasujące do tej samej długości w tablicy, to co robi, to wykorzystuje naturę "mapReduce" (nie tylko ograniczone do MongoDB ) i umożliwia sortowanie emitowanej wartości „klucza” w odpowiedzi.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongo:jak sortować według wagi zewnętrznej

  2. Użyj Mongosniff, aby wyjaśnić, co słyszy i mówi Twoja baza danych

  3. Jak zainstalować MongoDB Community Edition na Ubuntu?

  4. MongoDB Seattle 2014

  5. Czy źle jest zmienić typ _id w MongoDB na liczbę całkowitą?