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

Kolejność Mongo według długości tablicy

Pomyślałem, że możesz użyć $size , ale to tylko po to, aby znaleźć tablice o określonym rozmiarze, a nie uporządkować.

Z dokumentacji mongo:http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-%24size

Nie możesz użyć $size, aby znaleźć zakres rozmiarów (na przykład:tablice zawierające więcej niż 1 element). Jeśli potrzebujesz zapytania o zakres, utwórz dodatkowe pole rozmiaru, które zwiększasz podczas dodawania elementów. Indeksów nie można używać dla części zapytania o $size, chociaż jeśli dołączone są inne wyrażenia zapytania, indeksy mogą być używane do wyszukiwania dopasowań w tej części wyrażenia zapytania.

Wygląda na to, że możesz to zrobić dość łatwo dzięki nowej strukturze agregacji, edytuj: który jeszcze nie jest dostępny.http://www.mongodb.org/display/DOCS/Aggregation+Framework

Aktualizacja Teraz framework agregacji jest niedostępny...

> db.test.aggregate([
  {$unwind: "$answers"}, 
  {$group: {_id:"$_id", answers: {$push:"$answers"}, size: {$sum:1}}}, 
  {$sort:{size:1}}]);
{
"result" : [
    {
        "_id" : ObjectId("5053b4547d820880c3469365"),
        "answers" : [
            {
                "content" : "answer1"
            },
            {
                "content" : "2nd answer"
            }
        ],
        "size" : 2
    },
    {
        "_id" : ObjectId("5053b46d7d820880c3469366"),
        "answers" : [
            {
                "content" : "answer1"
            },
            {
                "content" : "2nd answer"
            },
            {
                "content" : "The third answer"
            }
        ],
        "size" : 3
    }
  ],
  "ok" : 1
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak wdrożyć serwer Percona dla MongoDB w celu zapewnienia wysokiej dostępności

  2. Jak stworzyć DB dla kontenera MongoDB przy starcie?

  3. Dlaczego nie mogę debugować kodu w metodzie asynchronicznej?

  4. Limit rozmiaru pojedynczego dokumentu MongoDB wynosi 16 MB

  5. Narzędzia MongoDB od społeczności, które uzupełniają ClusterControl