为 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 单个文档或 None
。 find_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.
目前,这是我的代码,用于在我的 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 单个文档或 None
。 find_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.