【发布时间】:2018-03-20 13:43:24
【问题描述】:
我正在尝试从 tinyDB 中获取最后一条记录,所以我想进行如下查询:
"SELECT * FROM table ORDER BY id DESC LIMIT 1"
这应该给我最后一行。虽然我不知道如何使用 TinyDB。
【问题讨论】:
我正在尝试从 tinyDB 中获取最后一条记录,所以我想进行如下查询:
"SELECT * FROM table ORDER BY id DESC LIMIT 1"
这应该给我最后一行。虽然我不知道如何使用 TinyDB。
【问题讨论】:
如果您想按时间降序对 db 进行排序,例如:
od = sorted(db.all(), key=lambda k: k['time'])
print(od[-1])
【讨论】:
【讨论】:
{"1":{...}, "2":{...}, "3":{...}} 如果你有:t.remove(doc_ids=[2]) 你得到:{"1":{...}, "3":{...}}
使用Query 并进行更新:
with TinyDB('db.json') as db:
my_table = db.table('a_table_name')
my_query= Query()
first_of_table_for_this_query = my_table.search(my_query.some_field == some_value)[1]
last_of_table_for_this_query = my_table.search(my_query.some_field == some_value)[-1]
# exemple of use for updating first inserted and last inserted only
my_table.update({'some_field': some_value+42}, doc_ids=[
first_of_table_for_this_query,
last_of_table_for_this_query
])
【讨论】: