2012-08-02 3 views
1

je dois trier une collection de MongoDB en Ruby via le mongodb driver.When je sorte dans la db en utilisant directementsorte MongoDB en Ruby

db.zipper.find().sort({"value":-1}) 

Mais quand je fais la même chose dans le rubis, la collection est pas obtenir sorted.I je utilise

coll = db.collection('zipper') 
coll.find().sort({"value":-1}) 

Dites-moi où je vais wrong.I essayé avec

coll.find.sort(:value,:desc) 

Mais cela aussi est en vain.Te ll moi où je vais mal.

Répondre

5

Vous devez passer les options de tri comme un tableau de paires de valeurs clés, par exemple:

coll.find({}, :sort => ['value',-1]) 

Avec le pilote Ruby vous pouvez également utiliser desc ou descending en équivalents sémantiques pour l'ordre de tri inverse -1:

coll.find({}, :sort => ['value','desc']) 
coll.find({}, :sort => ['value','descending']) 
+0

Cela fonctionne pour moi après avoir changé le tableau en objet:: sort => {'value' => -1}) – Eran

Questions connexes