1. ホーム
  2. python

[解決済み] PyMongoで.sortを使用する

2022-07-21 01:48:02

質問

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 は Python 3.6 では順序付けされません。