在pymongo中排序时出错

时间:2014-04-26 04:40:57

标签: mongodb sorting mongodb-query pymongo

在mongoshell中,以下声明工作正常:

db.grades.find({'type':'homework'}).sort({$score:1})

但是当我在pymongo尝试做同样的事情时,我面临一个错误:

itr= collection.find({'type':'homework'}).sort(['score', pymongo.ASCENDING])

错误:

    for (key, value) in index_list:
    ValueError: too many values to unpack

1 个答案:

答案 0 :(得分:8)

是的,这总是让我感到困惑。

您需要传递sort 对的列表,并且您传递的是长度为2的列表(即一对)。

这应该有效:

itr= collection.find({'type':'homework'}).sort([ ['score', pymongo.ASCENDING] ])

这个想法是你可以在列表中传递多个对(对于二级订单等)。