我想先获得最新帖子,然后尝试以下操作:
db.posts.find({"date": {"$lt": tomorrow, "$gte":
today}}).sort({'date':pymongo.DESCENDING})
(没有排序,我将最早的帖子排在第一位)
我收到此错误
TypeError: if no direction is specified, key_or_list must be an instance of list
这里发生了什么?是不是可以按日期排序?
答案 0 :(得分:15)
这不是sort
函数的正确参数格式。正确的语法看起来像这样:
db.posts.find(...).sort('date',pymongo.DESCENDING)
以下是sort
功能相关文档的链接:
http://api.mongodb.org/python/current/api/pymongo/cursor.html#pymongo.cursor.Cursor.sort
要按多个参数排序,您可以使用以下语法:
db.posts.find(...).sort([
('date', pymongo.ASCENDING),
('other_field', pymongo.DESCENDING)
]):
答案 1 :(得分:4)
在PyMongo中,如果.sort('date',pymongo.DESCENDING)出现错误,你也可以试试这个
db.posts.find().sort('date', -1)