TinyDB - 检索数据


创建数据库后,我们需要经常从该数据库中检索数据。以下是我们从数据库检索数据的方法 -

len() 查询

借助此查询,我们可以获得数据库中的文档数量。其语法如下 -

len(db)

获取查询

get查询用于检索与查询匹配的特定文档语法如下 -

db.get(query)

包含查询

contains 查询用于检查数据库是否包含匹配的值。其语法如下 -

db.contains(query)

计数查询

计数查询用于从数据库中检索匹配文档的数量。其语法如下 -

db.count(query)

让我们举几个例子来了解这些查询在 TinyDB 中是如何工作的。我们将使用前面所有章节中使用的相同学生数据库。

实施例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”。