2011-02-09 1 views
6
results = docDB.posts.find({"active":True }).sort("pop_score", pymongo.DESCENDING) 

これは私の今の並べ替えです。しかし問題は、いくつかのものが同じ「スコア」を持っていることです。その場合、彼らが結びついているならば、結びついた人の中で「時間」分けして欲しいと思います。モンゴブでは、最初にスコアで並べ替え、次に「タイ」がある場合は時間単位でソートしますか?

どうすればよいですか?それはMySQLでそれを行うことが可能です...

答えて

13

一度に複数の属性で並べ替えることができます。例えば

sort({name : 1, age : -1}) 

降順年齢によって、その後昇順名前でソートされます参照のためにここを参照してください:http://www.mongodb.org/display/DOCS/Sorting+and+Natural+Order

編集:pymongoで

.sort([['name', pymongo.ASCENDING], ['age', pymongo.DESCENDING]]) 

referenceLだろうhttp://api.mongodb.org/python/current/api/pymongo/cursor.html#pymongo.cursor.Cursor.sort

+0

Pymongoでこのクエリをどのように記述しますか? Pymongoは辞書を受け入れません。 2つの引数を受け入れる – TIMEX

+0

ドキュメントによると、pymongo sortは、キーの値のペアのリストを取得して、http://api.mongodb.org/python/current/api/pymongo/cursor.html#pymongo.cursor.Cursorを並べ替えることができます。ソート –

関連する問題