Javascript Lawnchair IndexedDB不';不支持多个记录

Javascript Lawnchair IndexedDB不';不支持多个记录,javascript,indexeddb,lawnchair,Javascript,Indexeddb,Lawnchair,我尝试在索引数据库中创建多个记录,但它不允许我,例如,nike和adidas 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: ', da

我尝试在索引数据库中创建多个记录,但它不允许我,例如,nike和adidas 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);
    });
});
我认为这就是如何在索引数据库中创建多个记录。它实际上是在请求时发生的。请参阅下面的代码

// Handle datastore upgrades.
request.onupgradeneeded = function(e) {
    var db = e.target.result;

    var nike = db.createObjectStore('nike');
    var adidas = db.createObjectStore('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" ...]

Lawnchair是为无模式用例而设计的。为每个Lawnchair实例使用单独的数据库


如果您真的需要一个数据库中有多个表,您可以使用其他库,如my own的ydn db。

找到了一种修复方法。我在option对象上添加了一个
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>

var nike=Lawnchair({适配器:'index-db',名称:'stores',记录:'nike',记录:['nike','adidas']},函数(e){
console.log(“nike store open”,本页);
save({id:1},函数(数据){
console.log('nike data:',data);
});
});
var adidas=Lawnchair({适配器:'index-db',名称:'stores',记录:'adidas',记录:['nike','adidas']},函数(e){
console.log(“阿迪达斯商店开门”);
save({id:1},函数(数据){
console.log('阿迪达斯数据:',数据);
});
});

请参见我的请求:

嗨,Kyaw Tun,我已下载了您的库,但编译时遇到问题。4.D-conn.D-conn.D-4.D-生成生成(1244-4-D)的生成生成(1244-D-YD N.D.D-生成(1244-D)的生成(1244-N.D-YD.D-N.D-D-D.D.D-D-D-D-D.D.D-生成(1244.D)生成(1244.D-D-D-D-D.D.D-D-D)生成生成(1244-D-D.D.D.D.D.D.D-D-D.D-D.D.D.D.D-D-D-D.D-D.D-D-D.D-D-D.D-D-D-D-D.D-D-D.D-D-D.D.D.D-D-D-D-D-D.D.D-D-D-D-D-D-D-D-D-D-.js | | | |-zss-ydn.db-crud-websql.js | | | |-zss-ydn.db-crud.js | |-zss-ydn.db-dev.js.map ||-zss-ydn.db-jquery.js | | | | | |-zss-ydn.db-raw.js | | `-zss-ydn.db.jsHi Kyawn,你能解释一下这些*.js之间的区别吗?:)谢谢这是一个很棒的图书馆。另外,我是否可以选择使用什么存储?例如,假设我想使用websql而不是索引数据库。My chrome支持websql和索引数据库。:)这些是二进制分布。您可以使用任何一个,这取决于您想要的功能。要更改存储机制,请在选项中更改
机制。有关更多详细信息,请参阅api doc Awesome!谢谢Kyaw。您的ydn db库非常完美:)嗨,kyawn tun,我只想确认ydn db是否支持mobile/phonegap?