Создать разный путь к ключам для разных индексов в dexie.js? - PullRequest
0 голосов
/ 23 сентября 2019

Мой код indexeddb примерно такой.

let request = indexedDB.open("myDB", "1.0");

request.onupgradeneeded = e => { 
    var mystore = db.createObjectStore('detailsTable', {
                keyPath: 'detail_id'
            });
            mystore.createIndex('status', 'survey_status', {
                unique: false
            });
            mystore.createIndex('uwid', 'user_wave_id', {
                unique: true
            });
            mystore.createIndex('dirty_bit', 'dirty_bit', {
                unique: false
            });
};

Итак, мой status имеет путь к ключу как survey_status, uwid, как user_wave_id, то же самое относится и к dirty_bit.Я просто пытаюсь создать это в Dexie.

const db = new Dexie("myDB");

db.version(1).stores({
  detailsTable:'&detail_id','status','uwid','dirty_bit'
});

Но я не знаю, как изменить путь к этим индексам.Кто-нибудь, пожалуйста, помогите мне из этого?

1 Ответ

0 голосов
/ 23 сентября 2019

Декси заботится только о клавишах.Если вы создали свою БД вне Dexie и хотите перейти на использование Dexie, она адаптируется к использованию существующих индексов, которые вы создали, независимо от того, какие имена вы им дали.Просто укажите ключевые пути, и Декси найдет индексы.

В зависимости от того, как вы создали свою базу данных и индексы, соответствующий код декси будет:

const db = new Dexie("myDB");

db.version(0.1).stores({
  detailsTable: "detail_id, survey_status, user_wave_id, dirty_bit"
});

Причина использования версии (0.1) вместо только версии (1) описано здесь: https://dexie.org/docs/Tutorial/Migrating-existing-DB-to-Dexie

...