Python TinyDB如何更新

Python TinyDB如何更新,python,tinydb,Python,Tinydb,如果我想更新特定密钥,我将如何更新?为什么我不能用字典方法直接更新 db = TinyDB(sys.argv[1]) #assume empty db.insert({'a':'1','b':'2'}) for record in db: if True: record['a'] = 2 print(db.all()) 输出: ({'a':'1','b':'2'}) 预期: ({'a':'2','b':'2'}) 虽然使用Query()可能很有用,但将来我可能会有很多

如果我想更新特定密钥,我将如何更新?为什么我不能用字典方法直接更新

db = TinyDB(sys.argv[1]) #assume empty
db.insert({'a':'1','b':'2'})

for record in db:
   if True:
      record['a'] = 2

print(db.all())
输出:

({'a':'1','b':'2'})
预期:

({'a':'2','b':'2'})

虽然使用
Query()
可能很有用,但将来我可能会有很多类似的记录,为每个键设置条件可能会很麻烦。我想尝试使用记录本身作为条件,只需更改一个键。

要更新文档中的值,请使用

在您的示例中:

from tinydb import TinyDB, Query

db = TinyDB('db.json')
db.insert({'a': '1', 'b': '2'})

print(db.all())

# Find all documents (dict objects) that contain 'a' key
# and set value of key 'a' to 2
db.update({'a': 2}, Query().a.exists())

print(db.all())