108 PyMongoで、次のように 'number'および 'date'フィールドでソートされたオブジェクトを取得しようとすると、 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)]) これがリストでなければならない理由は、引数の順序が重要でありdict、Python <3.6ではsが順序付けされていないためです。 — ジョージ ソース 29 これがPythonのリストである理由は、sort()問題と辞書の引数の順序がPythonでは順序付けられていないためです。 — アンドレ・ラズロ @AndréLaszloはOrderedDict()を使用できますか? — zakdances 2013年 9 これにより、多くの研究を節約できました。Little MongoDB Bookは、ソートの例を誤解しています。 — Dogukan Tufekci 2013 4 フィールドが1つだけの場合は、.sort( "_ id"、1)にすることができます — Haris Np 2 python3.6以降では、dictsが順序付けられているため、誰かがそれに賛成している場合は、pymongoにプルリクエストを送信して、一般的なmongodb構文と一致させることができます。もちろん、これではないでしょう仕事古いPythonのバージョンでpymongoを実行している...の — thiezn
sort()
問題と辞書の引数の順序がPythonでは順序付けられていないためです。