问题标签 [tinydb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
142 浏览

python - 一起添加多个 tinyDB 数据库

如何在不AssertionError出错的情况下将多个 tinyDB(基于文档的数据库)数据库添加在一起?我试图在这个例子中添加 12 个 tinyDB 数据库。

文件结构:
在此处输入图像描述

每个编号的文件看起来像这样:

我的代码:

错误:

AssertionError: doc_id 1 already exists

0 投票
1 回答
95 浏览

python - 我如何制作 TinyDB 文件

这是错误请帮我解决这个问题:

0 投票
1 回答
62 浏览

python-3.x - 如何使用 python3 在 TinyDB 中创建嵌套值?

一个例子是这样的:

我想要的结果是

但我得到这个错误

蒂亚!:)

0 投票
1 回答
29 浏览

python-3.x - 技术选择

您可能已经知道,python3 是一个单线程、单处理器程序,这似乎与仅由完整 python 和瓶子(Web 服务器)组成的状态的 tinydb (json) 配合得很好。

在一个您希望在预生产或早期生产和低流量(每周<100 ppl)的世界中,您如何看待使用内置 HTTP 服务器(python)运行瓶子网站的想法和tinydb 作为数据库。

我想知道的两件事是:

a)数据隔离(或并发):但由于一切都是单线程的,处理器将完成排队 CRUD 操作的工作,一个接一个,不会有任何并发​​访问,但关于低流量,我应该关心吗?

b)等待时间,当处理器排队 10 个人想要访问存储在 ram 中的同一张表时,处理器将对请求进行排队,人们将有等待时间。现在的问题是这是否会引起人们的注意,Python 速度很快(毫秒)。但是我真的不知道如何统计测试 50 ppl 同时连接到网站并请求相同的资源。

我对每一个反馈持开放态度,请告诉我。

0 投票
0 回答
32 浏览

python - tinydb 搜索、插入、更新错误

在控制台中,它给了我“库存”没有“搜索”命令的错误,但正如您从图像中看到的那样,“库存”是数据库的表,当我尝试执行“插入、搜索、更新”时“它给了我同样的错误。你能帮助我吗?

错误:

代码1:

代码2:

0 投票
0 回答
64 浏览

python-3.x - TinyDb 在执行更新时缓存数据,但从不更新 json 文档

我在一个项目中使用 TinyDB 来存储不和谐机器人的信息。每当用户更新他们的“滚动”时,更改的值会被缓存,但文档不会更新以反映更改。这会导致每次机器人重新启动时都不会保存数据。

用户数据如下所示:

我有一个命令应该向“rolls”字典添加键和值。这是代码:

处理程序.py

数据库.py

0 投票
0 回答
64 浏览

python - 在 TinyDB 中查询嵌套的 JSON

我在本地创建了一个 TinyDB(版本 4.5.2,文档:https : //tinydb.readthedocs.io/en/latest/usage.html)数据库(macbook air,运行 macOS BigSur,v. 11.5.2)db.json,带有一个名为 的表log,使用 Python 3.9.6 在一些重量训练日志数据之上构建一个小型应用程序。目前我正在尝试在日志表中查询练习名称为: 的数据squat。使用该方法时获取所有练习any,或者使用该方法时获取一个空列表all。中的数据db.json具有以下结构(仅显示 2 个练习):

到目前为止我已经尝试过:

查询嵌套 JSON 的官方示例非常相似,来自https://tinydb.readthedocs.io/en/latest/usage.html

所以我对不同的行为感到困惑。你能看到这里缺少的链接吗?

(还查看了关于 SO 的类似问题,Is it possible to query nested json object using TinyDB without lucky)

0 投票
0 回答
49 浏览

python - 在 Python 3 中创建一个大目录(和子目录)中所有文件的列表

我有一个非常大的文件文件夹,我想创建一个包含文件名、路径和格式的数据库以便于访问。

首先,TinyDB 是否适合该数据库?我真的很想保持小规模和本地化。速度并不重要,但会很好......显然。它将包含大约 500,000 行。

其次,我找不到任何关于完成这项任务的有效方法的好信息。我已经搜索过,但结果要么是针对 python 2 的,要么是对我发现的结果的评论似乎无法找到其他更有效的做事方式,但它们没有详细说明。顶级文件夹包含许多文件夹,每个文件夹包含多个文件,因此在此用例中的效率将是理想的。

我可以编写所有代码,但鉴于任务的大小,我只是不确定如何进行搜索部分。

这是我到目前为止所拥有的:

此代码适用于较小的数据库(几千行),但速度很快。

我最终得到了这段代码,这似乎只是工作。我不知道它如何处理比我的完整数据集更大的文件夹结构,但它似乎不占用太多 RAM 并且工作相对较快(对于完整数据集,它平均每个文件大约 1.3 毫秒):

这次我已经完成了我需要做的事情,但我的问题仍然存在。

如何进一步提高效率?

0 投票
0 回答
7 浏览

python-3.x - Tinydb 和 pyinstaller 片段查询不起作用

我遇到以下问题:

当我用 python 运行我的应用程序时,这个查询有效

tabla.search(q.fragment(查询))

但是当使用 pyinstaller 创建我的 exe 时,它​​会发送 --Empty 查询已评估 -- 是否有解决方法可以使用 tinydb 和 pyinstaller 解决这个问题

0 投票
0 回答
16 浏览

python - FastStone Image Viewer .db 文件编码


我正在尝试读取(然后写入)FSIV 保存标记图像等的 .db 文件(使用 Python 存储在“C:\Users\My Name\AppData\Roaming\FastStone\FSIV”中。


这些文件在顶部清楚地显示TinyDB 2.0,但是当我尝试使用 TinyDB 使用 Python(3.10)打开这些文件时,我得到了其中一个错误(取决于使用的文件和编码):

或者


我尝试在此处设置编码列表(对于 Python 3.7),...\tinydb\storages.py (Line 83)但没有奏效。

我在哪里可以找到更多可能的编码来尝试,或者有人知道 FastStone Image Viewer 使用哪种编码?
还是它使用一些自定义编码?

提前致谢!