Javascript db.js-将记录添加到IndexedDB时出现问题
我不确定我做错了什么。这与db.js示例几乎相同。我在开发人员工具中看到indexeddb,但我不明白为什么添加记录会引发此错误: 未捕获的数据错误:未能对“IDBObjectStore”执行“add”:该对象存储使用了行外键,没有键生成器,并且未提供键参数 以下是我的模式:Javascript db.js-将记录添加到IndexedDB时出现问题,javascript,html,google-chrome-extension,indexeddb,db.js,Javascript,Html,Google Chrome Extension,Indexeddb,Db.js,我不确定我做错了什么。这与db.js示例几乎相同。我在开发人员工具中看到indexeddb,但我不明白为什么添加记录会引发此错误: 未捕获的数据错误:未能对“IDBObjectStore”执行“add”:该对象存储使用了行外键,没有键生成器,并且未提供键参数 以下是我的模式: schema: { previews: { key: { keyPath: 'id', autoIncrement:
schema: {
previews: {
key: {
keyPath: 'id',
autoIncrement: true
},
indexes: {
pid: { unique: true },
title: { },
url: { }
}
}
}
还有我的add call:
server.previews.add({
pid: p,
title: t,
url: u
});
我最初在索引中有标题和url字段,但实际上,我只需要能够通过pid进行搜索
我还尝试在对象内部和外部传入id:1,但出现了相同的错误。我找到了解决方案。上面的代码工作得很好。这是为了让它工作而进行的几次迭代,我假设在更新数据库时,数据库正在重建以匹配我的模式定义。事实并非如此。我通过Chrome选项手动删除了数据库,当我重新加载时,它重建了数据库,一切正常。Tnx!只是经历同样的错误。使用IndexedDB是一件痛苦的事情:处理程序太多,DB版本令人困惑,而您所经历的。。。。