Safari在indexeddb polyfill上显示索引列未定义。如何使用safari中的索引检索数据

时间:2013-12-17 08:11:23

标签: jquery safari indexeddb ydn-db

我将safari上的索引列定义为未定义

enter image description here 这是我写的片段。

我正在使用parshuram的indexeddb和shim jquery插件。

.indexedDB("database_name", { 
    "schema" :
        "1" : function(transaction){
            // Examples of using the transaction object
            var obj2 = transaction.createObjectStore("store2",{"keyPath":"index"});
            obj2.createIndex("price");
        }
    }
});
var sampledata={
      index:'1',
      firstName: 'Aaron',
      lastName: 'Powell',
      answer: 42,
      price:100
  };
var randomnumber=Math.floor(Math.random()*1155)
var objectStore = $.indexedDB("database_name").objectStore("store2");
var promise = objectStore.add(sampledata);

1 个答案:

答案 0 :(得分:0)

这个问题与YDN-DB库无关,但我看看虽然是parshurams polyfill和facebook polyfill。由于其广泛的测试和更好的密钥编码,你可以通过facebook polyfill获得更好的效果。

使用辅助键(索引)时,polyfill都会比YDN-DB慢。这是因为这些polyfill使用表用于每个(主要和次要)键,而YDN-DB是每个商店的一个表,(multiEntry键除外,它需要单独的关系表)。对于索引库批量查询,性能可能会有很大差异,例如10倍或100倍,因为YDN-DB将使用SQL查询,因为polyfill将使用多个OFFSET查询请求进行迭代以模拟游标步行。