2013-12-17 2 views
1

에 인덱스를 사용하여 데이터를 검색하는 방법을 내가 작성했습니다 코드 조각입니다.Safari는 indexeddb polyfill에서 인덱스 열을 정의되지 않은 것으로 표시합니다. 내가 여기 <p><img src="https://i.stack.imgur.com/iJfP4.jpg" alt="enter image description here"> 정의되지 않은</p>로 사파리에 인덱스 colums를 받고 있어요 사파리

저는 parshurams indexeddb와 shim jquery plugin을 사용하고 있습니다.

.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); 
+0

같은 브라우저에서 polyfill 테스트 케이스를 사용해 보셨습니까? 여기에 테스트 케이스에 대한 링크가 있습니다. http://nparashuram.com/IndexedDBShim/test/index.html – GemK

+0

예, 이미 말했듯이 인덱스 콜에 대한 정의되지 않은 값도 있습니다. 이미 parshuram과 연락하여이 스레드를 업데이트 할 것입니다. 내가 어떤 대답을하면. –

+0

나는 또한 ydn-db를 사용해 보았지만 인덱스를 사용하여 데이터를 검색 할 수는 없으며 인덱스/열에 정의되지 않은 일부 숫자가 표시됩니다. –

답변

0

이 질문은 YDN-DB 라이브러리와 관련이 없지만 parhurams polyfill 및 facebook polyfill을 사용합니다. 광범위한 테스트와 더 나은 키 인코딩으로 인해 facebook polyfill을 사용하면 더 좋아질 것입니다.

보조 키 (색인)를 사용할 때 polyfill은 YDN-DB보다 느립니다. 이러한 polyfill은 각 (기본 및 보조) 키에 대해 테이블을 사용하지만 YDN-DB는 각 상점에 대해 하나의 테이블 (별도의 관계 테이블이 필요한 multiEntry 키 제외)이기 때문입니다. 인덱스 기반 일괄 쿼리의 경우 성능이 극적으로 달라질 수 있습니다 (예 : 10 배 또는 100 배). YDN-DB는 SQL 쿼리를 사용하므로 polyfill이 여러 개의 OFFSET 쿼리 요청을 반복하여 커서를 에뮬레이션합니다.

+0

13,000 개의 행과 4-5 개의 열과 같은 많은 양의 데이터가 있습니다. 나에게 무엇을 제안합니까? YDN-DB를 사용하지만 사파리의 인덱스에 적절한 정수와 값을 삽입 할 수있는 데모/프로토 타입을 보여줄 수 있습니까? 또한 이러한 인덱스를 사용하여 트래버스합니다. ydn-db를 사용하여 수행 할 수 없기 때문에 귀하의 데모 사이트 중 적절한 값이 사파리의 색인/열에 포함되어 있습니다. –

+0

당신은 무엇을 의미합니까, 나는 그렇게 할 수 없었습니까? –

+0

@ Kywwan Tun 감사합니다 .G + 님의 답장을 보내 주셨습니다. [link] (http://dev.yathit.com/api-reference/ydn-db/schema.html). ** ydn-db **를 사용할 때 type 속성이 내 문제를 해결했습니다. 이제 사파리의 값을 볼 수 있습니다. nparshurams 또는 polyfill에서 이러한 유형 속성을 사용할 수 없습니다. 그래서 저는 앞으로 ydn을 사용할 것이라고 생각합니다. –