如果我想要更新一个特定的密钥,我该怎么做?为什么我不能使用字典方法进行直接更新?
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()可能会很有用,但将来我可能会有很多类似的记录,为每个键设置条件可能会很麻烦。我想尝试使用记录本身作为条件,只更改一个键。
发布于 2020-05-02 02:26:37
要更新文档中的值,请使用update method。
在您的示例中:
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())https://stackoverflow.com/questions/57279765
复制相似问题