Tôi đang cố gắng sử dụng tính năng sắp xếp khi truy vấn mongoDB của mình, nhưng nó không thành công. Truy vấn tương tự hoạt động trong bảng điều khiển MongoDB nhưng không phải ở đây. Mã như sau:
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ỗi tôi nhận được như sau:
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
Tôi đã tìm thấy một liên kết ở nơi khác nói rằng tôi cần đặt một chữ 'u' trước phím nếu sử dụng pymongo, nhưng nó cũng không hoạt động. Bất cứ ai khác có được điều này để làm việc hoặc đây là một lỗi.
.sort([("field1",pymongo.ASCENDING), ("field2",pymongo.DESCENDING)])
để sắp xếp nhiều lĩnh vực.