TinyDB - 数据检索



创建数据库后,我们需要频繁地从该数据库中检索数据。以下是我们可以从数据库中检索数据的方法:

len() 查询

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

len(db)

get 查询

**get** 查询用于检索与查询匹配的特定文档。其**语法**如下:

db.get(query)

contains 查询

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

db.contains(query)

count 查询

count 查询用于检索数据库中匹配文档的数量。其**语法**如下:

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

广告