按d排序的pymongo

2024-04-25 09:04:43 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

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


Tags: ltdbtodaydate排序findsort帖子
2条回答

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

在PyMongo中,如果.sort('date',PyMongo.DESCENDING)出现错误,也可以尝试此操作

db.posts.find().sort('date', -1)

相关问题 更多 >

    热门问题