我如何在IndexedDB中关联objectstore?

时间:2016-04-05 11:17:26

标签: indexeddb

我创建了一个包含2个IndexedDB对象库的数据库。 这样我就可以把它当成一个关键的关键。 该数据库包含一个名为patients的对象存储,另一个被称为证据,然后想要添加与患者相关的测试。

Photo DataBase IndexedDb

1 个答案:

答案 0 :(得分:0)

在indexedDB本身中,您无法在2个objectStores之间建立关系。 IndexedDB不是关系数据库系统。如果你想要有关系,你必须在你的javascript代码中实现这种关系。

如果您有2个objectStores,即包含对象:

patient = {"number":"1234", name:"Michael Foo"}; // where "number"is the key
evidence = {"id":"1","content":"yes, its true","patientId":"1234"}; // where "id" is the key 

您可以将“patientId”定义为Index。所以你可以查找“patientId”。 如果您需要两者,则对患者进行查询,然后使用“数字”值对索引“patientId”进行查询。所以你有两个。

如果您想要删除2个objectStore中的数据并且您想确定,那么两个objectStores中的值都将被删除,您可以在一个transaction中执行此操作。因此,如果事务的一部分抛出错误,您可以取消空洞事务,以便回滚...