使用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
我的排序查询出了什么问题?
使用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
我的排序查询出了什么问题?
Answers:
sort
应该是键方向对的列表,即
db.test.find({"number": {"$gt": 1}}).sort([("number", 1), ("date", -1)])
之所以必须是列表,是因为参数的顺序很重要,而dict
s在Python <3.6中不排序
sort()
物料和字典的参数排序在Python中没有排序。