Javascript 在dexie.js中为不同索引创建不同的密钥路径?

Javascript 在dexie.js中为不同索引创建不同的密钥路径?,javascript,indexeddb,dexie,dexiejs,Javascript,Indexeddb,Dexie,Dexiejs,我的indexeddb代码是这样的 let request = indexedDB.open("myDB", "1.0"); request.onupgradeneeded = e => { var mystore = db.createObjectStore('detailsTable', { keyPath: 'detail_id' }); mystore.createIndex('status

我的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\u status
uwid
user\u wave\u id
同样适用于
dirty\u bit
。我只是想在德克西身上创造这个

const db = new Dexie("myDB");

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

但我不知道如何更改这些索引的键路径。任何人,请帮我解决这个问题?

德克西只关心关键路径。如果您已经在Dexie之外创建了DB,并且希望继续使用Dexie,那么它将适应使用您创建的现有索引,而不管您给它们起了什么名字。只需指定键路径,Dexie就会找到索引

根据您创建数据库和索引的方式,相应的dexie代码为:

const db=new Dexie(“myDB”);
db.version(0.1).stores({
detailsTable:“详细信息id、调查状态、用户id、脏位”
});

这里介绍了使用版本(0.1)而不仅仅是版本(1)的原因:

所以,我不能使用不同的索引和键路径?类似于
状态
是索引
调查状态
@David FahlanderNo Dexie没有指定索引名称的API。其原因是基于菲尔·卡尔顿(Phil Karlton)的以下引文:“计算机科学中只有两件难事:缓存失效和命名”。您对此的具体用例是什么?