J'essaie d'utiliser la fonctionnalité de tri lors de l'interrogation de ma mongoDB, mais elle échoue. La même requête fonctionne dans la console MongoDB mais pas ici. Le code est le suivant:
import pymongo
from pymongo import Connection
connection = Connection()
db = connection.myDB
print db.posts.count()
for post in db.posts.find({}, {'entities.user_mentions.screen_name':1}).sort({u'entities.user_mentions.screen_name':1}):
print post
L'erreur que je reçois est la suivante:
Traceback (most recent call last):
File "find_ow.py", line 7, in <module>
for post in db.posts.find({}, {'entities.user_mentions.screen_name':1}).sort({'entities.user_mentions.screen_name':1},1):
File "/Library/Python/2.6/site-packages/pymongo-2.0.1-py2.6-macosx-10.6-universal.egg/pymongo/cursor.py", line 430, in sort
File "/Library/Python/2.6/site-packages/pymongo-2.0.1-py2.6-macosx-10.6-universal.egg/pymongo/helpers.py", line 67, in _index_document
TypeError: first item in each key pair must be a string
J'ai trouvé un lien ailleurs qui indique que je dois placer un «u» devant la clé si j'utilise du pymongo, mais cela n'a pas fonctionné non plus. Quelqu'un d'autre veut que cela fonctionne ou est-ce un bug?