Pymongo сортировать сгруппированные результаты - PullRequest
0 голосов
/ 04 октября 2011

Мне нужно сгруппировать и отсортировать по дате_публикации некоторые документы, хранящиеся на mongodb с помощью pymongo.
групповая часть прошла нормально :), но когда я добавляю .sort () к запросу, он не работает, независимо от того, что япопробовал: (
вот мой запрос:

db.activities.group(keyf_code,cond,{},reduce_code)  

Я хочу отсортировать по полю под названием «опубликовано» (timestamp) пытался сделать

db.activities.group(keyf_code,cond,{},reduce_code).sort({"published": -1})  

и еще много вариантовбезуспешно

идей кто-нибудь?

Ответы [ 2 ]

2 голосов
/ 04 октября 2011

В настоящее время вы не можете выполнить сортировку с группой в MongoDB.Вместо этого вы можете использовать MapReduce , который поддерживает опцию сортировки.Также есть запрос на улучшение для группы поддержки с сортировкой здесь .

1 голос
/ 08 февраля 2012

Хотя MongoDB не делает то, что вы хотите, вы всегда можете использовать Python для сортировки:

result = db.activities.group(keyf_code,cond,{},reduce_code)
result = sorted(result, key=itemgetter("published"), reverse=True)
...