- 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 - 更新数据
- TinyDB - 检索数据
- TinyDB - 文档ID
- TinyDB - 表
- TinyDB - 默认表
- TinyDB - 缓存查询
- TinyDB - 存储类型
- TinyDB - 中间件
- TinyDB - 扩展TinyDB
- TinyDB - 扩展
- TinyDB 有用资源
- TinyDB - 快速指南
- TinyDB - 有用的资源
- TinyDB - 讨论
TinyDB - test() 查询
test ()查询将测试给定的参数是否与表中的数据匹配。如果与数据匹配,则返回匹配的数据,否则返回空白。首先,我们需要定义一个测试函数及其参数,然后它将在给定数据库中搜索该项目。
句法
TinyDB test()的语法如下 -
db.search(Query().field.test(function or condition, *arguments))
这里,字段代表我们想要访问的数据部分。Query()是我们名为Student 的JSON 表创建的对象。
我们可以创建一个自定义测试函数,如下所示 -
object = lambda t: t == 'value'
这里,lamba关键字对于创建自定义测试函数非常重要。
让我们通过几个示例来了解它是如何工作的。我们将使用前面所有章节中使用的相同学生数据库。
实施例1
我们将首先创建一个测试函数,然后在我们的学生表中使用它 -
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
在此示例中,我们将在测试函数中使用“主题”字段 -
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" } ]