130

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

ソートクエリの何が問題になっていますか?

4

1 に答える 1

234

sortキーと方向のペアのリストである必要があります。

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

これがリストでなければならない理由は、引数の順序が重要でありdict、Python<3.6ではsが順序付けられていないためです。

于 2012-04-20T07:54:13.490 に答える