在pymongo中进行排序时出现错误

4
在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个回答

8

是的,这也常常让我感到困惑。

你需要传入sort一对列表,而你却传入了长度为2的列表(即一对)。

以下代码应该可以正常工作:

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

这个想法是你可以在列表中传递多个键值对(用于次要排序等)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接