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"。