我花了数小时的时间寻找这个问题的答案,只有通过试错才最终找到了解决方法。在Stack Overflow上记录下来以供日后搜索。
问题:
如何在indexeddb中创建复合键?
在对象存储中使用以下方式创建键:
var db;
var openRequest = indexedDB.open('myDB', 1);
openRequest.addEventListener('error', () => {
console.error('Unable to open db');
});
openRequest.addEventListener('upgradeneeded', function(event){
var store = db.createObjectStore('myStore',
{keyPath: /* composite key */ }
);
});
openRequest.addEventListener('success', function(){
db = openRequest.result;
});
我尝试过放置对象、多次定义,如何创建组合键?或者这是API的限制吗?
注意:如果您想查询使用范围的组合键,请查看this帖子。
keyPath
创建(和填充)对象存储的内容;所引用的主题是关于从这样一个存储中提取项目。两者彼此非常有效地补充。一起使用,它们非常有帮助;正如SnareChops所说,即使四年后,这仍没有得到很好的记录。 - Velojet