TinyDB - 检索数据
创建数据库后,我们需要经常从该数据库中检索数据。 以下是我们从数据库检索数据的方法−
len() 查询
借助此查询,我们可以获得数据库中的文档数量。 其语法如下 −
len(db)
get 查询
get 查询用于检索与查询匹配的特定文档。 其语法如下 −
db.get(query)
contains 包含查询
contains 包含查询用于检查数据库是否包含匹配的值。 其语法如下 −
db.contains(query)
count 计数查询
count 计数查询用于从数据库中检索匹配文档的数量。 其语法如下 −
db.count(query)
让我们举几个例子来了解这些查询在 TinyDB 中是如何工作的。 我们将使用与前面所有章节中使用的相同的student数据库。
示例 1
让我们看看如何使用 len() 查询来获取数据库中的文档数量−
from tinydb import TinyDB db = TinyDB('student.json') print ("Number of documents in student db: ", len(db))
它将显示指定数据库中存在的文档数量 −
Number of documents in student db: 5
示例 2
让我们看看如何使用 get() 查询从数据库中获取特定文档 −
from tinydb import TinyDB, Query db = TinyDB('student.json') db.get(Query().address == 'delhi')
此查询将获取"address"字段值为"delhi"的行。
{ 'roll_number': 1, 'st_name': 'elen', 'mark': 250, 'subject': 'TinyDB', 'address': 'delhi' }
示例 3
让我们看看如何使用 contains() 查询来验证我们的数据库是否包含特定值 −
from tinydb import TinyDB, Query db = TinyDB('student.json') db.contains(Query().address == 'delhi')
contains() 查询根据给定数据库中是否存在指定值返回一个布尔值。 在这种情况下,它将返回"True",因为我们的数据库确实有一个值为"delhi"的"address"键。
True
示例 4
让我们看看如何使用 count() 查询来获取给定条件为 True 的文档数量−
from tinydb import TinyDB, Query db = TinyDB('student.json') print (db.count(Query().subject == 'NoSQL'))
它将返回以下输出 −
3
这意味着数据库中有 3 个文档,其中"subject"键的值为"NoSQL"。