在 PyMongo 中使用. sort

使用 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

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

44031 次浏览

sort应该是一个键-方向对列表,也就是说

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

之所以必须是一个列表,是因为参数的顺序很重要,而且在 Python < 3.6中,dict是没有顺序的