更新和删除文档 - Amazon Quantum Ledger Database (Amazon QLDB)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

更新和删除文档

在 Amazon QLDB 中,文档修订版是一个 Amazon Ion 结构,它表示由唯一文档 ID 标识的文档序列的单个版本。每个修订版都包含文档完整数据集,包括您的用户数据和系统生成的元数据。每个文档修订版都由文档 ID 和从零开始的版本号组合作为唯一标识。

更新文档时,QLDB 会创建包含相同文档 ID 和递增版本号的新修订版。当从表格中删除文档时,文档的生命周期即告结束。这意味着不能再次创建包含相同文档 ID 的文档修订版。

对文档执行修订

例如,以下语句插入新车辆登记,更新登记城市,然后删除登记。这将导致对文档进行三次修订。

INSERT INTO VehicleRegistration { 'VIN' : '1HVBBAANXWH544237', 'LicensePlateNumber' : 'LS477D', 'State' : 'WA', 'City' : 'Tacoma', 'PendingPenaltyTicketAmount' : 42.20, 'ValidFromDate' : `2011-10-26T`, 'ValidToDate' : `2023-09-25T`, 'Owners' : { 'PrimaryOwner' : { 'PersonId': 'KmA3XPKKFqYCP2zhR3d0Ho' }, 'SecondaryOwners' : [] } }
注意

插入语句和其他 DML 语句,会返回每个受影响文档的 ID。继续操作之前,请保存此 ID,因为下一个主题中的历史记录功能需要它。您还可以通过下述查询找到文档 OD。

SELECT r_id FROM VehicleRegistration AS r BY r_id WHERE r.VIN = '1HVBBAANXWH544237'
UPDATE VehicleRegistration AS r SET r.City = 'Bellevue' WHERE r.VIN = '1HVBBAANXWH544237'
DELETE FROM VehicleRegistration AS r WHERE r.VIN = '1HVBBAANXWH544237'

有关这些 DML 语句语法的更多示例和信息,请参阅Amazon QLDB PartiQL 参考中的更新删除

要在文档中插入和删除特定元素,可以使用以FROM关键字开头的UPDATE语句或者其他 DML 语句。有关更多信息和示例,请参阅 FROM(插入、删除或设置) 参考。

删除文档后,您将无法再在已提交视图或用户视图中对其进行查询。若要了解如何使用内置历史记录功能查询本文档的修订历史记录,请继续 查询修订历史记录