
- 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" } ]
廣告