- TinyDB 教程
- TinyDB - 首页
- TinyDB - 简介
- TinyDB - 环境设置
- TinyDB - 插入数据
- TinyDB - 检索数据
- TinyDB - 更新数据
- TinyDB - 删除数据
- TinyDB - 查询
- TinyDB - 搜索
- TinyDB - where 子句
- TinyDB - Exists() 查询
- TinyDB - Matches() 查询
- TinyDB - Test() 查询
- TinyDB - Any() 查询
- TinyDB - All() 查询
- TinyDB - one_of() 查询
- TinyDB - 逻辑非
- TinyDB - 逻辑与
- TinyDB - 逻辑或
- TinyDB - 处理数据查询
- TinyDB - 修改数据
- TinyDB - Upsert 数据
- TinyDB - 检索数据
- TinyDB - 文档 ID
- TinyDB - 表格
- TinyDB - 默认表格
- TinyDB - 查询缓存
- TinyDB - 存储类型
- TinyDB - 中间件
- TinyDB - 扩展 TinyDB
- TinyDB - 扩展
- TinyDB 有用资源
- TinyDB - 快速指南
- TinyDB - 有用资源
- TinyDB - 讨论
TinyDB - test() 查询
test() 查询用于测试给定的参数是否与表中的数据匹配。如果匹配,则返回匹配的数据,否则返回空。首先,我们需要定义一个test函数及其参数,然后它将在给定的数据库中搜索项目。
语法
TinyDB test() 的语法如下:
db.search(Query().field.test(function or condition, *arguments))
这里,field 表示我们要访问的数据部分。Query() 是我们名为student 的 JSON 表格创建的对象。
我们可以创建自定义测试函数,如下所示:
object = lambda t: t == 'value'
这里lambda关键字对于创建自定义测试函数非常重要。
让我们通过几个示例来了解它的工作原理。我们将使用前面所有章节中使用的相同student数据库。
示例 1
我们首先创建一个测试函数,然后在我们的student表中使用它:
from tinydb import TinyDB, Query db = TinyDB('student.json') objects = lambda t: t == [250, 280] db.search(Query().mark.test(objects))
它将获取“mark”字段的值为 [250, 280] 的行:
[{'roll_number': 2, 'st_name': 'Ram', 'mark': [250, 280], 'subject': ['TinyDB', 'MySQL'], 'address': 'delhi'}]
示例 2
在这个示例中,我们将在测试函数中使用“subject”字段:
student = Query() db = TinyDB('student.json') objects = lambda t: t == 'TinyDB' db.search(student.subject.test(objects))
此查询将获取“subject”字段值为“TinyDB”的所有行:
[ { "roll_number":1, "st_name":"elen", "mark":250, "subject":"TinyDB", "address":"delhi" }, { "roll_number":5, "st_name":"karan", "mark":275, "subject":"TinyDB", "address":"benglore" } ]
广告