ydn-db:如何调用ydn创建的数据库?

时间:2013-11-15 17:19:00

标签: javascript html5 indexeddb ydn-db

我创建了一个带有YDN的数据库:

var db = new ydn.db.Storage('our_db', our_schema);

第二次,我测试这个数据库是否存在。如果成功,我想称这个DB应用db.put()和其他东西......

在这种情况下,如何将此数据库检索到变量“db”?

我的测试代码:

if (window.indexedDB){ // if browser supports IndexedDB, create IndexedDB DB
    var request = window.indexedDB.open("our_db", 1);
    request.onerror = function(event) {
    };

    request.onsuccess = function(event) {
        var db = ?????? ;
    };

    request.onupgradeneeded = function(event) {
        // create the datastore
        var db = new ydn.db.Storage('our_db', our_schema);
        console.log("New storage !");
    };
}

如果你有更好的想法...... 谢谢你的建议!

1 个答案:

答案 0 :(得分:1)

由于ydn-db将使用这些样板来打开数据库(IndexedDB和WebSQL),你可以这样做

var db = new ydn.db.Storage('our_db', our_schema);
db.put('store name', data).done(function(key) {
  console.log('put with key ' + key);
});

也没有必要测试对IndexedDB的支持。如果支持,它将被用作第一优先级。否则它将使用其他存储机制。

要知道客户端中已存在数据库,请收听ready事件:

db.addEventListener('ready', function(e) {
  var ver = e.getOldVersion();
  if (ver > 0) {
     console.log('existing database version: ' + ver);
   } else {
     console.log('new database created');
   }
});