为 mongodb 数据库查找最近插入的文档

Finding most recent inserted document for a mongodb database

目前,这是我的代码,用于在我的 mongodb 数据库中查找最新文档

    async def _last_bump_time(self):
        last_bump = bump_db.find().limit(1).sort('$natural', ASCENDING).limit(1)
        last_bump = last_bump["date"]
        return datetime.strptime(last_bump,"%S:%M:%H:%d:%m:%Y")

但它给我一个错误,TypeError: index 'date' cannot be applied to Cursor instances
找到最反应文档的最佳方法是什么,并且能够在文档没有额外参数的情况下从文档中检索数据?
' 我的文档是这样排序的,三个参数

_id:6292a0d4cc2ef69845749028
id:736933464292589568
date:"16:23:20:28:05:2022"

您正在使用 find which is intended to retrieve multiple documents. It returns a Cursor,它可以让您浏览 returned 文档 one-by-one。

您可以改用 find_one,这将 return 单个文档或 Nonefind_one 还支持传递一个 sort 参数,需要指定排序顺序的(键,方向)对列表。放在一起,它可能看起来像这样:

async def _last_bump_time(self):
    last_bump = bump_db.find_one(sort=[('$natural', ASCENDING)])
    # last_bump is None if your database is empty.
    if last_bump:
        return datetime.strptime(last_bump["date"],"%S:%M:%H:%d:%m:%Y")
    return datetime.now() # Example return value in the case of an empty database. Feel free to update.