Saya mencoba menggunakan fitur sortir ketika menanyakan mongoDB saya, tetapi gagal. Kueri yang sama berfungsi di konsol MongoDB tetapi tidak di sini. Kode adalah sebagai berikut:
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
Kesalahan yang saya dapatkan adalah sebagai berikut:
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
Saya menemukan tautan di tempat lain yang mengatakan bahwa saya harus meletakkan infront kunci jika menggunakan pymongo, tetapi itu juga tidak berhasil. Orang lain membuat ini berfungsi atau ini bug.
.sort([("field1",pymongo.ASCENDING), ("field2",pymongo.DESCENDING)])
untuk mengurutkan beberapa bidang.