Domanda

In mongoshell, the below statement is working fine:

db.grades.find({'type':'homework'}).sort({$score:1})

But when I am trying to do same in pymongo, i am facing an error:

itr= collection.find({'type':'homework'}).sort(['score', pymongo.ASCENDING])

Error:

    for (key, value) in index_list:
    ValueError: too many values to unpack
È stato utile?

Soluzione

Yes, this always confuses me too.

You need to pass into sort a list of pairs, and you're passing a list of length 2 (i.e. a pair).

This should work:

itr= collection.find({'type':'homework'}).sort([ ['score', pymongo.ASCENDING] ])

The idea is that you can pass more than one pair in your list (for secondary order, etc.).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top