如何获得MongoEngine的最新记录?

时间:2017-06-14 05:23:40

标签: python mongodb pyramid mongoengine

因此,如果用户访问文件,则会创建一个可访问3分钟的链接。 在我的MongoDB上,字段是。

page_link:'link_to_file1',
date_expires: ISODate("2017-06-14T04:30:39.380Z")

因此,当用户再次访问同一文件时。

我将检查page_link的date_expires是否小于当前时间

links = PageLink.objects(page_link = url).first()
date_expires = links.date_expires
current_date = datetime.now()

if str(date_expires) < str(current_date):
    #generate a new link.
    current_date = datetime.now()
    date_expires = current_date + timedelta(minutes = 3)
    new_link = PageLink(page_link = url, date_expires = date_expires)
    new_link.save()
    links = PageLink.objects(page_link = url).first()
    final_url = links.page_link
else:
    #use existing link

因此,当我访问文件时,如果已经过了3分钟(或者date_expires小于current_date),那么我将使用SAME名称保存一个新的page_link但不同的date_expires。

问题是,

links = PageLink.objects(page_link = url).first()

此代码始终获得第一条记录。当我运行代码时,它总是执行“if”而不是“else”,因此它生成一个具有SAME名称但不同到期的新链接。

如何获取最后一条记录而不是第一条记录?谢谢!

0 个答案:

没有答案