javascript – Ich bitte um Hilfe bei einer Frage zu indexedDB
某草草
某草草 2017-06-05 11:13:09
0
2
686

Wie unten gezeigt, ist der Primärschlüssel eines von mir gespeicherten Datenelements timeStamp. Ich weiß, dass diese Daten durch Abrufen des Primärschlüsselwerts gefunden werden können, die Daten jedoch nicht durch Abfrage anderer darin enthaltener Werte abgerufen werden können. Können Abfragebedingungen ähnlich wie bei SQL-Anweisungen nicht implementiert werden? (Überprüfen Sie sie alle und gehen Sie dann die Ergebnisse durch und beseitigen Sie sie)

db.createObjectStore('book', {
    keyPath: "timeStamp"
});

store.get(1496251171844)

Einige Leute sagen, ich solle einen Index verwenden, aber der Index kann nicht anhand des Werts abgefragt werden. Ich möchte immer noch ein Urteil fällen, um die angegebene Gruppe direkt unter dem Objektspeicher abzurufen

 var book = db.createObjectStore('book', {
        keyPath: "timeStamp"
    });
  // 建立索引
book.createIndex("groupId","groupId", {unique:false});
--------------------------------------------------------

html5.indexedDB.getFromId = function(groud, callback){
    var db = html5rocks.indexedDB.db;
    var tx = db.transaction(['book'],'readwrite');
    var store = tx.objectStore('book');

  
    var index = store.index("groupId");
    request = index.openCursor();
    request.onsuccess = function(event){
        var result = event.target.result;
        if(!result){return;}
        if(result.value.groupId == groud){
            callback(result.value);
        }
        result.continue();
    };
};
某草草
某草草

Antworte allen(2)
伊谢尔伦

createIndex可以添加多个索引,并设置是否索引值是否唯一

为情所困

indexedDB 类似于 nosql , 只能靠关键字索引了, 没有办法按 sql 来查询。获取到集合以后,可以用 js 的方法,来查找。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage