Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ydn db:如何调用由ydn创建的db?_Javascript_Html_Indexeddb_Ydn Db - Fatal编程技术网

Javascript ydn db:如何调用由ydn创建的db?

Javascript ydn db:如何调用由ydn创建的db?,javascript,html,indexeddb,ydn-db,Javascript,Html,Indexeddb,Ydn Db,我已使用YDN创建了一个数据库: var db = new ydn.db.Storage('our_db', our_schema); 第二次,我测试这个数据库是否存在。如果成功,我想调用这个数据库来应用DB.put()和其他东西 在这种情况下,如何将此DB检索到变量“DB”中 我的测试代码: if (window.indexedDB){ // if browser supports IndexedDB, create IndexedDB DB var request = window

我已使用YDN创建了一个数据库:

var db = new ydn.db.Storage('our_db', our_schema);
第二次,我测试这个数据库是否存在。如果成功,我想调用这个数据库来应用DB.put()和其他东西

在这种情况下,如何将此DB检索到变量“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 !");
    };
}
如果你有更好的想法。。。
谢谢你的建议

由于ydndb将为打开数据库(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');
   }
});