【问题标题】:TinyDB and Python - get last inserted rowTinyDB 和 Python - 获取最后插入的行
【发布时间】:2018-03-23 11:39:55
【问题描述】:

我正在使用 tinyDB 通过 python 存储一些数据,并且我正在尝试获取插入到数据库中的最后一行。所以我这样做:

data = db.all() # get all data from db
last_row = data[len(data) - 1]

这就是我获得最后一行的方式,但效率不高,因为我在一开始就获得了所有数据库。

有没有更好的方法?

【问题讨论】:

  • 为什么要获取“最后一行”?
  • @Tomalak 因为我正在将动态页面中的数据保存到这个数据库中,并且我想检查页面上的数据是否已更新,所以我得到了插入数据库的最后一行,并且检查它是否不相等 -> 然后有新数据。
  • TinyDB 没有聚合,所以你不能只查询最大值,但你可以创建一个足够的替代品。使用时间存储页面数据的每个实例并存储您上次获取的时间。检查新数据时,获取上次获取的时间,获取该时间对应的页面数据,然后进行比较。

标签: python database tinydb


【解决方案1】:

您可以在这种情况下使用doc_id,因为最后一行将是最大的索引

last_row = db.get(doc_id=len(db))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-21
    • 1970-01-01
    • 1970-01-01
    • 2017-10-14
    • 2016-11-25
    • 2012-01-21
    相关资源
    最近更新 更多