как написать / обновить indexedDB - PullRequest
0 голосов
/ 01 октября 2019

Только что начал работать с indexedDB, мне нужно временное решение для хранения пользовательских журналов. Для работы я использую библиотеку IDB. Поэтому я создал магазин, и когда пользователь начинает работать с платежами, я сохраняю все его действия в виде журнала. Платежи делятся на несколько этапов, на каждом этапе пользователь заполняет обязательные поля. Я уже создал базу данных и вот как я устанавливаю начальные данные в магазине.

export async function addUserLogs() {
  const obj = {
    id: 0, // unique: true
    serviceID: 0,
    terminalID: 0,
    accountNumber: 0,
    price: 0,
  };

  const db = await InitDb();
  const tx = db.transaction('userLogs', 'readwrite');
  const store = tx.objectStore('userLogs');
  store.put(obj);
  await tx.done;
}    

Я собираюсь передать эту функциюко всем «шаговым» компонентам для записи / обновления данных. Проблема в том, что я понятия не имею, как отслеживать текущий ключ и изменять этот объект. И как добавить данные, не переопределяя весь объект. Так, например: на первом шаге мне нужно просто установить значение «цена». Как передать аргумент этому функционалу без переопределения начального объекта, а когда он перейдет к следующему шагу (другому компоненту), сохранить primaryKey этого объекта?

...