Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用.sort和PyMongo_Python_Mongodb_Pymongo - Fatal编程技术网

Python 使用.sort和PyMongo

Python 使用.sort和PyMongo,python,mongodb,pymongo,Python,Mongodb,Pymongo,对于PyMongo,当我尝试检索按“编号”和“日期”字段排序的对象时,如下所示: db.test.find({"number": {"$gt": 1}}).sort({"number": 1, "date": -1}) 我得到这个错误: TypeError: if no direction is specified, key_or_list must be an instance of list 我的排序查询有什么问题?sort应该是键方向对的列表,即 db.test.find({"numb

对于PyMongo,当我尝试检索按“编号”和“日期”字段排序的对象时,如下所示:

db.test.find({"number": {"$gt": 1}}).sort({"number": 1, "date": -1})
我得到这个错误:

TypeError: if no direction is specified, key_or_list must be an instance of list

我的排序查询有什么问题?

sort
应该是键方向对的列表,即

db.test.find({"number": {"$gt": 1}}).sort([("number", 1), ("date", -1)])

这必须是一个列表的原因是参数的顺序很重要,
dict
s在Python中没有顺序。<3.6

在Python中这是一个列表的原因是
sort()
参数的顺序和dict在Python中没有顺序。@AndréLaszlo可以是一个OrderedDict()被使用?这节省了我大量的研究。MongoDB小册子在排序示例中引入了误导。如果它只是一个字段,那么它可以是。python3.6+dicts中的sort(“\u id”,1)是有序的,因此如果有人支持它,可能值得向pymongo请求将其与通用MongoDB语法保持一致。当然,在较旧的python版本上运行pymongo时,这是行不通的。。