tinydb 4.3.0 の実際のバージョン
from tinydb import TinyDB, Query
db = TinyDB('db.json')
dbtable = db.table('Counters')
Search = Query()
splitemsg = ['', 'nwm', '', 'nwm', '', 'nwm', ''] #in other cases it can be different
for tableval in dbtable.all():
for i in splitemsg:
if i == counterfilt:
dbtable.update({'Value': tableval['Value'] + 1}, Search['Counter_filter'].any(counterfilt)) #this will add 1 to the Value in the table
私のjsonファイルの行:
{"_default": {}, "Counters": {"1": {"Counter_name": "nwm", "Counter_filter": ["nwm", "nvm"], "Value": 0}}}
この後、tinydb のテーブルの値に 3 を追加することになっていますが、1 を追加するだけです。なぜ機能しないのですか? ループ内でスリープを試みましたが、うまくいきませんでした。他のバージョンの tinydb を試しましたが、うまくいきませんでした。文字列を分割できれば別の解決策がありますが、セパレーターは可変であり、セパレーターを保持する必要があります。