我尝试在索引-db中创建多个记录,但是它不允许我创建多个记录,例如耐克和阿迪达斯objectStores。
var nike = Lawnchair({adapter:'indexed-db', name:'stores', record:'nike'},function(e){
console.log("nike store open");
this.save({id:1}, function(data){
console.log('nike data: ', data);
});
});
var adidas = Lawnchair({adapter:'indexed-db', name:'stores', record:'adidas'},function(e){
console.log("adidas store open");
this.save({id:1}, function(data){
console.log('adidas data: ', data);
});
});我认为这就是如何在索引数据库中创建多个记录。它实际上发生在request.onupgradeneeded上。请参阅下面的代码。
// Handle datastore upgrades.
request.onupgradeneeded = function(e) {
var db = e.target.result;
var nike = db.createObjectStore('nike');
var adidas = db.createObjectStore('adidas');
};如果我不能创建一个adidas记录,这实际上是访问它时抛出的错误。
[Exception... "The operation failed because the requested database object could not be found. For example, an object store did not exist but was being opened." code: "8" ...]发布于 2013-07-31 08:56:24
Lawn椅是为无模式用例设计的。为每个Lawn椅子实例使用单独的数据库。
如果您确实需要一个数据库中的多个表,则需要其他库,如我自己的ydn-db。
发布于 2013-08-01 12:01:58
找到解决办法了。通过在object上添加一个records属性,我添加了一个修补程序。请参阅{适配器.,记录:.}下面。
<script>
var nike = Lawnchair({adapter:'indexed-db', name:'stores', record:'nike', records:['nike','adidas']},function(e){
console.log("nike store open", this);
this.save({id:1}, function(data){
console.log('nike data: ', data);
});
});
var adidas = Lawnchair({adapter:'indexed-db', name:'stores', record:'adidas', records:['nike','adidas']},function(e){
console.log("adidas store open");
this.save({id:1}, function(data){
console.log('adidas data: ', data);
});
});
</script>https://stackoverflow.com/questions/17948230
复制相似问题