Tinydb 简明教程

TinyDB - Retrieving Data

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

The len() Query

借助此查询,我们可以获取数据库中的文档数。它的 syntax 如下 −

len(db)

The get Query

get 查询用于检索与查询匹配的特定文档。它的 syntax 如下 −

db.get(query)

The contains Query

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

db.contains(query)

The count Query

count 查询用于检索数据库中匹配文档的数量。其 syntax 如下 −

db.count(query)

我们举几个例子来理解如何在 TinyDB 中使用这些查询。我们将使用与前几章中相同的 student 数据库。

Example 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

Example 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'
}

Example 3

我们看看如何使用 contains() 查询来验证我们的数据库是否包含特定值 −

from tinydb import TinyDB, Query
db = TinyDB('student.json')
db.contains(Query().address == 'delhi')

contains() 查询基于给定数据库中是否存在指定值,返回一个布尔值。在本例中,它将返回 "True",因为我们的数据库具有 "address" 键,其值为 "delhi"。

True

Example 4

我们来看看如何使用 count() 查询来获取给定条件为 True 的文档数 −

from tinydb import TinyDB, Query
db = TinyDB('student.json')
print (db.count(Query().subject == 'NoSQL'))

它将返回以下 output

3

这意味着数据库中有 3 个文档的 "subject" 键的值为 "NoSQL"。