Хранение значений во вновь созданном объектном магазине

В этом примере автор использует следующую строку:

var customerObjectStore = 
  db.transaction("customers", "readwrite").objectStore("customers");

Я не понимаю, почему "клиенты" используются дважды. Я попытался переименовать одну из них, чтобы увидеть, где это может изменить ситуацию, и пример разбивается, поэтому совершенно необходимо, чтобы они сохранили одно и то же имя.

1 ответ

Решение

transaction Метод получает два аргумента. Первая - это массив таблиц (хранилищ объектов), с которыми вы хотите работать, а вторая - тип доступа. В вашем примере вы хотите работать только с одной таблицей, поэтому вы использовали строку вместо массива. Но если вы хотите работать с крупномасштабными проектами, вам следует работать с несколькими таблицами, например так:

var trans = db.transaction(["customers", "payments"], "readwrite");
var customerObjectStore = trans.objectStore("customers");
var paymentObjectStore = trans.objectStore("payments");

Надеюсь, этот пример исправит вашу путаницу.

Другие вопросы по тегам