You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何仅更新TinyDB文档中数组内指定id的条目?

TinyDB 更新数组内指定条目方法

TinyDB 本身没有提供直接更新数组内单个元素的内置API,需要通过「取出文档→修改数组元素→重新写入文档」的方式实现。针对你给出的示例文档,具体操作步骤如下:

  1. 导入依赖并初始化数据库
from tinydb import TinyDB, Query

db = TinyDB('db.json')
Doc = Query()
  1. 定位并获取目标文档
# 根据name字段匹配目标文档
target_doc = db.get(Doc.name == "first")
  1. 找到数组内指定条目并修改
if target_doc:
    # 遍历entries数组,定位id为2的条目
    for item in target_doc['entries']:
        if item['id'] == 2:
            item['count'] = 66  # 替换为你需要更新的值
            break
    # 将修改后的文档写回数据库
    db.update(target_doc, Doc.name == "first")

补充说明

因为 TinyDB 是轻量级单文件数据库,主要面向单进程场景,这种「读-改-写」的方式足够满足常规需求。如果是多进程并发场景,需要额外处理数据一致性问题,但这不属于 TinyDB 的核心使用场景。

内容的提问来源于stack exchange,提问作者Miro Krsjak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 00:02:36