2013-04-24 2 views
6

Ich folge ein Beispiel aus der PHP-Dokumentation einige Datensätze in einer Sammlung zu sortieren:Warum funktioniert diese Mongo Sortierung nicht in PHP?

$cursor = $mongo->party_scores->find()->limit(10); 
    $cursor = $cursor->sort(array("score",-1)); 
    foreach($cursor as $doc) { 
     print_r($doc); 
    } 

dies tun, ich sehe die Dokumente in einer zufälligen Reihenfolge (nicht sortiert).

Aber diese Abfrage von der Konsole Mongo Ausführung erzeugt eine sorten Antwort:

db.party_scores.find().sort({score : -1 }) 

Ich mag das Gefühl gibt offensichtlich etwas sein muss, ich bin fehlen.

Antwort

13

Ich denke, ich sehe das Problem. Statt dies zu tun:

$cursor->sort(array("score",-1)) 

Try this:

$cursor->sort(array("score" => -1)) 

leicht Fehler zu machen, aber sehr frustrierend zu finden, wenn Sie es nicht sofort sehen.

+1

Das scheint es gewesen zu sein, danke. Ich hätte es wahrscheinlich eine weitere Stunde lang betrachtet, ohne es gesehen zu haben. – justkevin

+0

Uncaught Error: Aufruf zu undefinierter Methode MongoDB \ Driver \ Cursor :: sort()? Was ist der Fehler? – Sibidharan

Verwandte Themen