pymongo按日期排序

pymongo sorting by date

我想先获取最新的帖子,然后尝试以下操作:

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

这是怎么回事?不能按日期排序吗?

这不是 sort 函数的正确参数格式。正确的语法应该是这样的:

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

这里是 link 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)
]):

在 PyMongo 中,如果 .sort('date', pymongo.DESCENDING)

有错误,您也可以试试这个
db.posts.find().sort('date', -1)