2015-06-04 30 views
5

Tôi muốn nhận được các bài viết mới đầu tiên, và hãy thử như sau:pymongo sắp xếp theo ngày

db.posts.find({"date": {"$lt": tomorrow, "$gte": 
       today}}).sort({'date':pymongo.DESCENDING}) 

(mà không loại, tôi nhận được cổ nhất bài viết tốt đầu tiên)

Tôi nhận được lỗi này

TypeError: if no direction is specified, key_or_list must be an instance of list 

Điều gì đang xảy ra ở đây? Không phải là nó có thể sắp xếp theo ngày?

Trả lời

12

Đây không phải là định dạng thông số chính xác cho hàm sort. Cú pháp đúng sẽ giống như thế này:

db.posts.find(...).sort('date',pymongo.DESCENDING) 

Dưới đây là một liên kết đến các tài liệu có liên quan cho sort chức năng: http://api.mongodb.org/python/current/api/pymongo/cursor.html#pymongo.cursor.Cursor.sort

Để sắp xếp theo nhiều thông số mà bạn có thể sử dụng cú pháp sau:

db.posts.find(...).sort([ 
    ('date', pymongo.ASCENDING), 
    ('other_field', pymongo.DESCENDING) 
]): 
3

Trong PyMongo bạn cũng có thể thử điều này nếu có lỗi cho .sort ('date', pymongo.DESCENDING)

db.posts.find().sort('date', -1) 
Các vấn đề liên quan