108 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 내 정렬 쿼리에 어떤 문제가 있습니까? python mongodb pymongo — 케니 파워스 소스
205 sort 키 방향 쌍의 목록이어야합니다. 즉 db.test.find({"number": {"$gt": 1}}).sort([("number", 1), ("date", -1)]) 이것이 목록이어야하는 이유는 인수의 순서가 중요하고 dictPython <3.6에서 순서가 지정되지 않기 때문입니다. — 게오르그 소스 29 이것이 파이썬에서 목록 인 이유는 sort()문제와 딕셔너리 에 대한 인수의 순서가 파이썬에서 정렬되지 않기 때문입니다. — André Laszlo 2011 @ AndréLaszlo는 OrderedDict ()를 사용할 수 있습니까? — zakdances 9 이것은 저에게 많은 연구를 절약했습니다. Little MongoDB Book은 정렬 예에서 잘못된 정보를 제공합니다. — Dogukan Tufekci 4 필드가 하나 뿐인 경우 .sort ( "_ id", 1) — Haris Np 2 python3.6 +에서 dicts는 순서가 지정되어 있으므로 누군가가 그것을 원한다면 일반 mongodb 구문과 일치하도록 pymongo에 풀 요청을 할 가치가 있습니다. 물론 이것은 이전 파이썬 버전에서 pymongo를 실행할 때 작동하지 않을 것입니다. — thiezn
sort()
문제와 딕셔너리 에 대한 인수의 순서가 파이썬에서 정렬되지 않기 때문입니다.