MongoDB sortiert nach Anzahl der Filialdokumente

9

Ich habe ein Dokument, das ungefähr so ​​aussieht:

%Vor%

Ist es möglich nach der Anzahl der "Bewertungen" zu sortieren? Etwas tun wie:

  

db.comments.find (). sort ({rating.count (): -1})

gibt einen Fehler aus:

  

SyntaxError: fehlt: nach der Eigenschaft id (Shell): 0

    
ben lemasurier 30.09.2011, 17:15
quelle

2 Antworten

8

Das geht nicht direkt mit mongodb [ 1 ]

Eine Lösung, wenn Sie diese Abfrage häufig verwenden, besteht darin, jedes Mal, wenn Sie das Rating-Array ändern und nach diesem Feld sortieren, ein Feld "count" zu erhöhen oder zu verringern.

Ihr Dokument wird wie folgt aussehen:

%Vor%

und Sie fragen mit

ab %Vor%     
kamaradclimber 01.10.2011, 13:41
quelle
17

Es gibt bereits eine deutliche Antwort, aber ich dachte, ich würde hinzufügen, dass dies mit dem Aggregations-Framework getan werden kann:

%Vor%     
drogon 14.02.2013 23:52
quelle

Tags und Links