Tinydb 简明教程
TinyDB - Modifying the Data
我们已经使用 update 查询进行过讨论,借助该查询,我们可以修改值并处理数据库中的数据。但是 update 查询(如 db.update(fields, query) )允许我们通过添加或覆盖它的值来更新文档。
但是有时,我们想删除一个字段或需要增加它的值。在这种情况下,我们可以传递一个函数而不是字段。我们可以在更新查询中使用以下操作 -
The Increment Query
顾名思义,增量查询用于增量数据库中键的值。 syntax 增量查询如下所示 -
from tinydb.operations import increment
db.update(increment('key'))
The Add Query
加法查询用于将值添加到键的值。它也适用于字符串。 syntax 加法查询如下所示 -
from tinydb.operations import add
db.update(add(key, value))
The Set Query
此查询用于将键设置为数据的值。 syntax 设置查询如下所示 -
from tinydb.operations import set
db.update(set(key, value))
The Decrement Query
减量查询用于减量键的值。 syntax 减量查询如下所示 -
from tinydb.operations import decrement
db.update(decrement(key))
The Subtract Query
减法查询用于从键的值中减去值。 syntax 减法查询如下所示 -
from tinydb.operations import subtract
db.update(subtract(key, value))
The Delete Query
删除查询用于从文档中删除键。 syntax 删除查询如下所示 -
from tinydb.operations import delete
db.update(delete(key))
让我们举几个示例来演示如何将这些操作与 update 查询一起使用。我们将使用我们在所有以前的章节中使用的相同 student 数据库。
Example 1
让我们看看如何在我们的 student 表中 increment 学生的成绩 -
from tinydb import TinyDB, Query
db = TinyDB('student.json')
from tinydb.operations import increment
db.update(increment('mark'), Query().mark == 275)
它将生成以下 output −
[5]
以上输出显示它已经更新了文档 ID 为 5 的记录。
Example 2
让我们看看如何在我们的 student 表中 add 学生的成绩 5 分 -
from tinydb import TinyDB, Query
db = TinyDB('student.json')
from tinydb.operations import add
db.update(add('mark', 5), Query().mark == 200)
它将生成以下 output −
[4]
以上输出显示它已经更新了文档 ID 为 4 的记录。
Example 3
让我们看看如何在我们的 student 表中将分数 set 为 259 的分数设置为 250 -
from tinydb import TinyDB, Query
db = TinyDB('student.json')
from tinydb.operations import add
db.update(add('mark', 259), Query().mark == 250)
它将生成以下 output −
[1]
以上输出显示它已经更新了文档 ID 为 1 的记录。
Example 4
让我们看看如何在我们的 student 表中 decrement 学生分数 -
from tinydb import TinyDB, Query
db = TinyDB('student.json')
from tinydb.operations import decrement
db.update(decrement('mark'), Query().mark == 205)
它将生成以下 output −
[4]
以上输出显示它已经更新了文档 ID 为 4 的记录。
Example 5
让我们看看如何在我们的 student 表中 subtract 学生的成绩 5 分 -
from tinydb import TinyDB, Query
db = TinyDB('student.json')
from tinydb.operations import add
db.update(add('mark', 5), Query().mark == 204)
它将生成以下 output −
[4]
以上输出显示它已经更新了文档 ID 为 4 的记录。