2024-06-02 05:14:06 发布
网友
我正在尝试在MongoDB中对字典进行分类。但是,我得到了值错误“too many values to unpack”,因为我认为这意味着每个字典中有太多的值(每个字典中有16个值)。这是我的代码:
FortyMinute.find().sort(['Rank', 1])
有人知道怎么避开这个吗?在
编辑:完全回溯
在unpacked中传递参数和值,如下所示:
FortyMinute.find().sort('Rank', 1)
Cursor.sort
pymongo.DESCENDING
FortyMinute.find().sort('Rank',pymongo.DESCENDING)
sorted
sorted(FortyMinute.find(), key=key_function)
其中可以定义key_function以返回记录的Rank列。在
key_function
Rank
如果希望mong/pymongo进行排序:
如果要使用多个字段排序:
您还可以使用常量来更清楚地说明您在做什么:
如果要先在python中排序,则必须返回结果并使用python中的排序方法:
sorted(FortyMinute.find(), key=<some key...>)
在unpacked中传递参数和值,如下所示:
只有在传递多个排序参数时,才能使用列表对参数和值进行分组,然后还必须用元组将所有参数括起来,如下所示: ^{pr2}$
专业提示:即使下面链接的
Cursor.sort
文档也建议使用pymongo.DESCENDING
和{最后,如果您愿意,您可以使用Python的内置程序对列表进行排序,正如前面提到的另一个答案;但是即使认为
sorted
接受迭代器而不仅仅是序列,它可能更低效和不标准:其中可以定义
key_function
以返回记录的Rank
列。在Link to the official documentation
如果希望mong/pymongo进行排序:
如果要使用多个字段排序:
^{pr2}$您还可以使用常量来更清楚地说明您在做什么:
如果要先在python中排序,则必须返回结果并使用python中的排序方法:
相关问题 更多 >
编程相关推荐