В Mongodb как сначала отсортировать по количеству баллов, а затем отсортировать по времени, если есть «галстук»? - PullRequest
7 голосов
/ 09 февраля 2011
results = docDB.posts.find({"active":True }).sort("pop_score", pymongo.DESCENDING)

Это мой вид прямо сейчас. Но проблема в том, что некоторые вещи имеют одинаковую «оценку». В этом случае, если они связывают, я хочу, чтобы они сортировали по «времени» среди тех, кто связывал.

Как мне это сделать? Это можно сделать в Mysql ...

1 Ответ

16 голосов
/ 09 февраля 2011

Вы можете сортировать по нескольким атрибутам одновременно.например,

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

будет сортировать по имени по возрастанию, а затем по возрастанию по убыванию

См. здесь для справки: http://www.mongodb.org/display/DOCS/Sorting+and+Natural+Order

Редактировать:

В пимонго,это было бы

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

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

...