- TinyDB - Discussion
- TinyDB - Useful Resources
- TinyDB - Quick Guide
- TinyDB - Extensions
- TinyDB - Extend TinyDB
- TinyDB - Middleware
- TinyDB - Storage Types
- TinyDB - Caching Query
- TinyDB - Default Table
- TinyDB - Tables
- TinyDB - Document ID
- TinyDB - Retrieving Data
- TinyDB - Upserting Data
- TinyDB - Modifying the Data
- TinyDB - Handling Data Query
- TinyDB - Logical OR
- TinyDB - Logical AND
- TinyDB - Logical Negate
- TinyDB - The one_of() Query
- TinyDB - The All() Query
- TinyDB - The Any() Query
- TinyDB - The Test() Query
- TinyDB - The Matches() Query
- TinyDB - The Exists() Query
- TinyDB - The where Clause
- TinyDB - Searching
- TinyDB - Querying
- TinyDB - Delete Data
- TinyDB - Update Data
- TinyDB - Retrieve Data
- TinyDB - Insert Data
- TinyDB - Environmental Setup
- TinyDB - Introduction
- TinyDB - Home
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
TinyDB - The test() Query
The test() query will test if the given arguments match with the data in a table. If it matches with the data, it will return the matched data, otherwise it will return blank. First of all, we need to define a test function and its arguments and then it will search the item in a given database.
Syntax
The syntax of TinyDB test() is as follows −
db.search(Query().field.test(function or condition, *arguments))
Here, field represents the part of data that we want to access. Query() is the object created of our JSON table named student.
We can create a custom test function as follows −
object = lambda t: t == value
Here the lamba keyword is important to create the custom test function.
Let s understand how it works with the help of a couple of examples. We will use the same student database that we have used in all the previous chapters.
Example 1
We will first create a test function and then use it in our student table −
from tinydb import TinyDB, Query db = TinyDB( student.json ) objects = lambda t: t == [250, 280] db.search(Query().mark.test(objects))
It will fetch the rows where the "mark" field has the values [250, 280] −
[{ roll_number : 2, st_name : Ram , mark : [250, 280], subject : [ TinyDB , MySQL ], address : delhi }]
Example 2
In this example, we will use the "subject" field in the test function −
student = Query() db = TinyDB( student.json ) objects = lambda t: t == TinyDB db.search(student.subject.test(objects))
This query will fetch all the rows where the "subject" field has the value "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" } ]Advertisements