2016-04-05 2 views
0

Я создал базу данных с 2 магазинами объектов IndexedDB. Таким образом, я мог бы относиться так, как если бы это был авангардный ключ. База данных содержит хранилище объектов, называемое пациентом, а другое называется доказательством, а затем хочет добавить тесты, связанные с пациентами.Как я могу связать объект-магазин в IndexedDB?

Photo DataBase IndexedDb

ответ

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-х объектов, и вы хотите точно убедиться, что значения в обоих объектах будут удалены, вы можете сделать это в одном transaction. поэтому, если одна часть транзакции выдает ошибку, вы можете отменить транзакцию с отверстием, откат ...

Смежные вопросы